aboutsummaryrefslogtreecommitdiff
path: root/sunrpc
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2020-10-08 12:53:09 -0600
committerMartin Sebor <msebor@redhat.com>2020-10-08 12:53:09 -0600
commitc5db00dc30e0513dc17ad8aefe54c807f55ec967 (patch)
treebfb371777b8604fba5703de0f74fa2ae58380fe7 /sunrpc
parent3eff7504cab0c406dbd27a1b07a413dafc39634d (diff)
downloadglibc-c5db00dc30e0513dc17ad8aefe54c807f55ec967.zip
glibc-c5db00dc30e0513dc17ad8aefe54c807f55ec967.tar.gz
glibc-c5db00dc30e0513dc17ad8aefe54c807f55ec967.tar.bz2
sunrpc: Adjust RPC function declarations to match Sun's (bug 26686]
Building Glibc with the latest GCC 11 shows a number of instances of the new -Warray-parameter warning designed to encourage consistency in the forms of array arguments in redeclarations of the same function (and, ultimately, to enable the detection of out of bounds accesses via such arguments). To avoid the subset of these warnings for the RPC APIs, this patch changes the declarations of these functions to match both their definitions and the Oracle RPC documentation. Besides avoiding the -Warray-parameter warnings the effect of this change is for GCC to issue warnings when either the functions are passed an array with fewer than MAXNETNAMELEN + 1 elements, or when the functions themselves access elements outside the array bounds.
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/netname.c5
-rw-r--r--sunrpc/rpc/auth.h8
2 files changed, 7 insertions, 6 deletions
diff --git a/sunrpc/netname.c b/sunrpc/netname.c
index 61d82ca..24ee519 100644
--- a/sunrpc/netname.c
+++ b/sunrpc/netname.c
@@ -142,7 +142,7 @@ typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1],
uid_t *, gid_t *, int *, gid_t *);
int
-netname2user (const char netname[MAXNETNAMELEN + 1], uid_t * uidp, gid_t * gidp,
+netname2user (const char *netname, uid_t * uidp, gid_t * gidp,
int *gidlenp, gid_t * gidlist)
{
static service_user *startp;
@@ -189,8 +189,7 @@ libc_hidden_nolink_sunrpc (netname2user, GLIBC_2_1)
#endif
int
-netname2host (const char netname[MAXNETNAMELEN + 1], char *hostname,
- const int hostlen)
+netname2host (const char *netname, char *hostname, const int hostlen)
{
char *p1, *p2;
diff --git a/sunrpc/rpc/auth.h b/sunrpc/rpc/auth.h
index e01b077..0b46408 100644
--- a/sunrpc/rpc/auth.h
+++ b/sunrpc/rpc/auth.h
@@ -179,9 +179,11 @@ extern AUTH *authdes_pk_create (const char *, netobj *, u_int,
* Netname manipulating functions
*
*/
-extern int getnetname (char *) __THROW;
-extern int host2netname (char *, const char *, const char *) __THROW;
-extern int user2netname (char *, const uid_t, const char *) __THROW;
+extern int getnetname (char [MAXNETNAMELEN + 1]) __THROW;
+extern int host2netname (char [MAXNETNAMELEN + 1], const char *,
+ const char *) __THROW;
+extern int user2netname (char [MAXNETNAMELEN + 1], const uid_t,
+ const char *) __THROW;
extern int netname2user (const char *, uid_t *, gid_t *, int *, gid_t *)
__THROW;
extern int netname2host (const char *, char *, const int) __THROW;