about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-05-30 13:33:22 -0400
committerMike Frysinger <vapier@gentoo.org>2015-07-08 03:18:27 -0400
commit61d95397de01ead73b828c6106a4a832d9681652 (patch)
treecfdb7089b7bd3ca2b97a22635f43f50b600487b7
parent8b59c73386ddb64331ee03c29925a18dae547733 (diff)
downloadglibc-61d95397de01ead73b828c6106a4a832d9681652.tar.gz
glibc-61d95397de01ead73b828c6106a4a832d9681652.tar.xz
glibc-61d95397de01ead73b828c6106a4a832d9681652.zip
pwd.h: add __nonnull markings [BZ #18641]
Mark all the functions that don't handle NULL pointers as __nonnull.
POSIX does not require either behavior, so the prototypes should match
the reality of the codebase.
-rw-r--r--ChangeLog11
-rw-r--r--NEWS2
-rw-r--r--pwd/pwd.h18
3 files changed, 23 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 86a3144254..cb4476230f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2015-07-08  Mike Frysinger  <vapier@gentoo.org>
+
+	[BZ #18641]
+	* pwd/pwd.h (fgetpwent): Add __nonnull markings.
+	(putpwent): Likewise.
+	(getpwnam): Likewise.
+	(getpwent_r): Likewise.
+	(getpwuid_r): Likewise.
+	(getpwnam_r): Likewise.
+	(fgetpwent_r): Likewise.
+
 2015-06-18  Carlos O'Donell  <carlos@redhat.com>
 
 	[BZ #18557]
diff --git a/NEWS b/NEWS
index c316cabb8f..39d3140bca 100644
--- a/NEWS
+++ b/NEWS
@@ -26,7 +26,7 @@ Version 2.22
   18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532, 18533, 18534,
   18536, 18539, 18540, 18542, 18544, 18545, 18546, 18547, 18549, 18553,
   18557, 18558, 18569, 18583, 18585, 18586, 18592, 18593, 18594, 18602,
-  18612, 18613, 18619, 18633.
+  18612, 18613, 18619, 18633, 18641.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/pwd/pwd.h b/pwd/pwd.h
index ff49564a94..fcfb2ab0e7 100644
--- a/pwd/pwd.h
+++ b/pwd/pwd.h
@@ -91,7 +91,7 @@ extern struct passwd *getpwent (void);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern struct passwd *fgetpwent (FILE *__stream);
+extern struct passwd *fgetpwent (FILE *__stream) __nonnull ((1));
 
 /* Write the given entry onto the given stream.
 
@@ -100,7 +100,7 @@ extern struct passwd *fgetpwent (FILE *__stream);
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern int putpwent (const struct passwd *__restrict __p,
-		     FILE *__restrict __f);
+		     FILE *__restrict __f) __nonnull ((1, 2));
 #endif
 
 /* Search for an entry with a matching user ID.
@@ -113,7 +113,7 @@ extern struct passwd *getpwuid (__uid_t __uid);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct passwd *getpwnam (const char *__name);
+extern struct passwd *getpwnam (const char *__name) __nonnull ((1));
 
 #ifdef __USE_POSIX
 
@@ -138,18 +138,21 @@ extern struct passwd *getpwnam (const char *__name);
    therefore not marked with __THROW.  */
 extern int getpwent_r (struct passwd *__restrict __resultbuf,
 		       char *__restrict __buffer, size_t __buflen,
-		       struct passwd **__restrict __result);
+		       struct passwd **__restrict __result)
+		       __nonnull ((1, 2, 4));
 # endif
 
 extern int getpwuid_r (__uid_t __uid,
 		       struct passwd *__restrict __resultbuf,
 		       char *__restrict __buffer, size_t __buflen,
-		       struct passwd **__restrict __result);
+		       struct passwd **__restrict __result)
+		       __nonnull ((2, 3, 5));
 
 extern int getpwnam_r (const char *__restrict __name,
 		       struct passwd *__restrict __resultbuf,
 		       char *__restrict __buffer, size_t __buflen,
-		       struct passwd **__restrict __result);
+		       struct passwd **__restrict __result)
+		       __nonnull ((1, 2, 3, 5));
 
 
 # ifdef	__USE_MISC
@@ -163,7 +166,8 @@ extern int getpwnam_r (const char *__restrict __name,
 extern int fgetpwent_r (FILE *__restrict __stream,
 			struct passwd *__restrict __resultbuf,
 			char *__restrict __buffer, size_t __buflen,
-			struct passwd **__restrict __result);
+			struct passwd **__restrict __result)
+			__nonnull ((1, 2, 3, 5));
 # endif
 
 #endif	/* POSIX or reentrant */