public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
To: glibc-cvs@sourceware.org
Subject: [glibc] Add access function attributes to grp and shadow headers
Date: Mon, 14 Mar 2022 15:19:53 +0000 (GMT)	[thread overview]
Message-ID: <20220314151953.677CC3858D20@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a35b8b225da4d3cf4bd81af3808f2ec50db003ce

commit a35b8b225da4d3cf4bd81af3808f2ec50db003ce
Author: Steve Grubb <sgrubb@redhat.com>
Date:   Thu Mar 10 17:31:34 2022 -0500

    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>

Diff:
---
 grp/grp.h         | 12 ++++++++----
 gshadow/gshadow.h | 12 ++++++++----
 shadow/shadow.h   | 12 ++++++++----
 3 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/grp/grp.h b/grp/grp.h
index db32f897ec..bd3f6010ed 100644
--- a/grp/grp.h
+++ b/grp/grp.h
@@ -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 66d6d3b883..170df5f68a 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 b29bcc41d0..649691b63c 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 */


                 reply	other threads:[~2022-03-14 15:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220314151953.677CC3858D20@sourceware.org \
    --to=siddhesh@sourceware.org \
    --cc=glibc-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).