about summary refs log tree commit diff
path: root/pwd/pwd.h
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 /pwd/pwd.h
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.
Diffstat (limited to 'pwd/pwd.h')
-rw-r--r--pwd/pwd.h18
1 files changed, 11 insertions, 7 deletions
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 */