diff options
author | Steve Grubb <sgrubb@redhat.com> | 2022-03-10 17:31:34 -0500 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@sourceware.org> | 2022-03-14 20:02:30 +0530 |
commit | a35b8b225da4d3cf4bd81af3808f2ec50db003ce (patch) | |
tree | d5bef55cbec985fd28f85d49c322409eca4ffbe3 | |
parent | 70f021e66ae73a99bff9bcc5b71eefb63fc74320 (diff) | |
download | glibc-a35b8b225da4d3cf4bd81af3808f2ec50db003ce.zip glibc-a35b8b225da4d3cf4bd81af3808f2ec50db003ce.tar.gz glibc-a35b8b225da4d3cf4bd81af3808f2ec50db003ce.tar.bz2 |
Add access function attributes to grp and shadow headers
This patch adds access function attributes to the re-entrant functions
in grp.h and shadow headers.
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
-rw-r--r-- | grp/grp.h | 12 | ||||
-rw-r--r-- | gshadow/gshadow.h | 12 | ||||
-rw-r--r-- | shadow/shadow.h | 12 |
3 files changed, 24 insertions, 12 deletions
@@ -130,7 +130,8 @@ extern struct group *getgrnam (const char *__name); # ifdef __USE_GNU extern int getgrent_r (struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 2, 3)); # endif /* Search for an entry with a matching group ID. @@ -139,7 +140,8 @@ extern int getgrent_r (struct group *__restrict __resultbuf, marked with __THROW. */ extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); /* Search for an entry with a matching group name. @@ -148,7 +150,8 @@ extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, extern int getgrnam_r (const char *__restrict __name, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); # ifdef __USE_MISC /* Read a group entry from STREAM. This function is not standardized @@ -161,7 +164,8 @@ extern int getgrnam_r (const char *__restrict __name, extern int fgetgrent_r (FILE *__restrict __stream, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); # endif #endif /* POSIX or reentrant */ diff --git a/gshadow/gshadow.h b/gshadow/gshadow.h index 66d6d3b..170df5f 100644 --- a/gshadow/gshadow.h +++ b/gshadow/gshadow.h @@ -108,19 +108,23 @@ extern int putsgent (const struct sgrp *__g, FILE *__stream); or due to the implementation they are cancellation points and therefore not marked with __THROW. */ extern int getsgent_r (struct sgrp *__result_buf, char *__buffer, - size_t __buflen, struct sgrp **__result); + size_t __buflen, struct sgrp **__result) + __attr_access ((__write_only__, 2, 3)); extern int getsgnam_r (const char *__name, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); extern int sgetsgent_r (const char *__string, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); extern int fgetsgent_r (FILE *__stream, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); #endif /* misc */ __END_DECLS diff --git a/shadow/shadow.h b/shadow/shadow.h index b29bcc4..649691b 100644 --- a/shadow/shadow.h +++ b/shadow/shadow.h @@ -122,19 +122,23 @@ extern int putspent (const struct spwd *__p, FILE *__stream); or due to the implementation they are cancellation points and therefore not marked with __THROW. */ extern int getspent_r (struct spwd *__result_buf, char *__buffer, - size_t __buflen, struct spwd **__result); + size_t __buflen, struct spwd **__result) + __attr_access ((__write_only__, 2, 3)); extern int getspnam_r (const char *__name, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); extern int sgetspent_r (const char *__string, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); extern int fgetspent_r (FILE *__stream, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); #endif /* misc */ |