about summary refs log tree commit diff
path: root/sunrpc
diff options
context:
space:
mode:
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/auth_des.c8
-rw-r--r--sunrpc/create_xid.c2
-rw-r--r--sunrpc/key_call.c2
-rw-r--r--sunrpc/rtime.c2
-rw-r--r--sunrpc/svcauth_des.c2
-rw-r--r--sunrpc/xdr.c14
-rw-r--r--sunrpc/xdr_intXX_t.c9
7 files changed, 17 insertions, 22 deletions
diff --git a/sunrpc/auth_des.c b/sunrpc/auth_des.c
index fc5956dcd7..7fe96ca765 100644
--- a/sunrpc/auth_des.c
+++ b/sunrpc/auth_des.c
@@ -107,14 +107,14 @@ authdes_create (const char *servername, u_int window,
   /* syncaddr   - optional addr of host to sync with */
   /* ckey       - optional conversation key to use */
 {
-  u_char pkey_data[1024];
+  char pkey_data[1024];
   netobj pkey;
 
   if (!getpublickey (servername, pkey_data))
     return NULL;
 
-  pkey.n_bytes = (char *) pkey_data;
-  pkey.n_len = strlen ((char *) pkey_data) + 1;
+  pkey.n_bytes = pkey_data;
+  pkey.n_len = strlen (pkey_data) + 1;
   return INTUSE(authdes_pk_create) (servername, &pkey, window, syncaddr, ckey);
 }
 
@@ -237,7 +237,7 @@ authdes_marshal (AUTH *auth, XDR *xdrs)
   des_block cryptbuf[2];
   des_block ivec;
   int status;
-  unsigned int len;
+  int len;
   register int32_t *ixdr;
   struct timeval tval;
 
diff --git a/sunrpc/create_xid.c b/sunrpc/create_xid.c
index 21b83a7656..4e76918644 100644
--- a/sunrpc/create_xid.c
+++ b/sunrpc/create_xid.c
@@ -33,7 +33,7 @@ static struct drand48_data __rpc_lrand48_data;
 unsigned long
 _create_xid (void)
 {
-  unsigned long res;
+  long int res;
 
   __libc_lock_lock (createxid_lock);
 
diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c
index 211f61db70..506a99767c 100644
--- a/sunrpc/key_call.c
+++ b/sunrpc/key_call.c
@@ -386,7 +386,7 @@ getkeyserv_handle (int vers)
   struct timeval wait_time;
   int fd;
   struct sockaddr_un name;
-  int namelen = sizeof(struct sockaddr_un);
+  socklen_t namelen = sizeof(struct sockaddr_un);
 
 #define TOTAL_TIMEOUT   30      /* total timeout talking to keyserver */
 #define TOTAL_TRIES     5       /* Number of tries */
diff --git a/sunrpc/rtime.c b/sunrpc/rtime.c
index 4996f01ba9..ff71a55aeb 100644
--- a/sunrpc/rtime.c
+++ b/sunrpc/rtime.c
@@ -80,7 +80,7 @@ rtime (struct sockaddr_in *addrp, struct rpc_timeval *timep,
   /* RFC 868 says the time is transmitted as a 32-bit value.  */
   uint32_t thetime;
   struct sockaddr_in from;
-  int fromlen;
+  socklen_t fromlen;
   int type;
 
   if (timeout == NULL)
diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c
index 07d7bd0122..becdd5066d 100644
--- a/sunrpc/svcauth_des.c
+++ b/sunrpc/svcauth_des.c
@@ -315,7 +315,7 @@ _svcauth_des (register struct svc_req *rqst, register struct rpc_msg *msg)
   /*
    * xdr the timestamp before encrypting
    */
-  ixdr = (int32_t *) cryptbuf;
+  ixdr = (uint32_t *) cryptbuf;
   IXDR_PUT_INT32 (ixdr, timestamp.tv_sec - 1);
   IXDR_PUT_INT32 (ixdr, timestamp.tv_usec);
 
diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c
index d99a9985c4..2f894fbba7 100644
--- a/sunrpc/xdr.c
+++ b/sunrpc/xdr.c
@@ -225,8 +225,7 @@ INTDEF(xdr_u_long)
 bool_t
 xdr_hyper (XDR *xdrs, quad_t *llp)
 {
-  long t1;
-  unsigned long int t2;
+  long int t1, t2;
 
   if (xdrs->x_op == XDR_ENCODE)
     {
@@ -240,7 +239,7 @@ xdr_hyper (XDR *xdrs, quad_t *llp)
       if (!XDR_GETLONG(xdrs, &t1) || !XDR_GETLONG(xdrs, &t2))
 	return FALSE;
       *llp = ((quad_t) t1) << 32;
-      *llp |= t2;
+      *llp |= (unsigned long int) t2;
       return TRUE;
     }
 
@@ -259,8 +258,7 @@ INTDEF(xdr_hyper)
 bool_t
 xdr_u_hyper (XDR *xdrs, u_quad_t *ullp)
 {
-  unsigned long t1;
-  unsigned long t2;
+  long int t1, t2;
 
   if (xdrs->x_op == XDR_ENCODE)
     {
@@ -274,7 +272,7 @@ xdr_u_hyper (XDR *xdrs, u_quad_t *ullp)
       if (!XDR_GETLONG(xdrs, &t1) || !XDR_GETLONG(xdrs, &t2))
 	return FALSE;
       *ullp = ((u_quad_t) t1) << 32;
-      *ullp |= t2;
+      *ullp |= (unsigned long int) t2;
       return TRUE;
     }
 
@@ -332,7 +330,7 @@ INTDEF(xdr_short)
 bool_t
 xdr_u_short (XDR *xdrs, u_short *usp)
 {
-  u_long l;
+  long l;
 
   switch (xdrs->x_op)
     {
@@ -345,7 +343,7 @@ xdr_u_short (XDR *xdrs, u_short *usp)
 	{
 	  return FALSE;
 	}
-      *usp = (u_short) l;
+      *usp = (u_short) (u_long) l;
       return TRUE;
 
     case XDR_FREE:
diff --git a/sunrpc/xdr_intXX_t.c b/sunrpc/xdr_intXX_t.c
index 9d2f92e10d..6c1fca2b23 100644
--- a/sunrpc/xdr_intXX_t.c
+++ b/sunrpc/xdr_intXX_t.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998, 1999, 2000, 2004 Free Software Foundation, Inc.
+/* Copyright (c) 1998, 1999, 2000, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998.
 
@@ -31,10 +31,7 @@
 bool_t
 xdr_int64_t (XDR *xdrs, int64_t *ip)
 {
-  int32_t t1;
-  /* This must be unsigned, otherwise we get problems with sign
-     extension in the DECODE case.  */
-  uint32_t t2;
+  int32_t t1, t2;
 
   switch (xdrs->x_op)
     {
@@ -46,7 +43,7 @@ xdr_int64_t (XDR *xdrs, int64_t *ip)
       if (!XDR_GETINT32(xdrs, &t1) || !XDR_GETINT32(xdrs, &t2))
         return FALSE;
       *ip = ((int64_t) t1) << 32;
-      *ip |= t2;
+      *ip |= (uint32_t) t2;	/* Avoid sign extension.  */
       return TRUE;
     case XDR_FREE:
       return TRUE;