Fixed up some missing protocols and unchecked casts
authorKeith Vetter <keithv@fusion.com>
Wed, 8 Mar 1995 04:44:54 +0000 (04:44 +0000)
committerKeith Vetter <keithv@fusion.com>
Wed, 8 Mar 1995 04:44:54 +0000 (04:44 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5084 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/gssapi/generic/ChangeLog
src/lib/gssapi/generic/disp_major_status.c
src/lib/gssapi/generic/gssapiP_generic.h
src/lib/gssapi/generic/util_canonhost.c
src/lib/gssapi/generic/util_dup.c
src/lib/gssapi/generic/util_token.c

index 2a8c9677e59655dc651a8dc137d444f0221a2f03..325109f01a0e6cee88703c679bdbf25526a12bd2 100644 (file)
@@ -1,3 +1,11 @@
+Tue Mar 7 20:14:53 1995 Keith Vetter (keithv@fusion.com)
+
+       * disp_maj.c: added casts on int->long assignments.
+        * util_can.c: made to work with PC winsockets.
+        * util_dup.c: added system include for prototype info.
+        * util_tok.c: int/long problems.
+        * gssapip_.h: added casts on int->char assignments.
+
 Tue Feb 28 00:25:58 1995  John Gilmore  (gnu at toad.com)
 
        * gssapi.h:  Avoid <krb5/...> includes.
index d37b34e880635fc09fc03b3cc9c18b7baf468cea..7dadd3e10fb222de98781cc019ca2fd197d3f51a 100644 (file)
@@ -21,6 +21,7 @@
  */
 
 #include "gssapiP_generic.h"
+#include <string.h>
 
 /* This code has knowledge of the min and max errors of each type
    within the gssapi major status */
@@ -278,20 +279,20 @@ OM_uint32 INTERFACE g_display_major_status(minor_status, status_value,
 
    if (!tmp) {
       /* bogon input - there should be something left */
-      *minor_status = G_BAD_MSG_CTX;
+      *minor_status = (OM_uint32) G_BAD_MSG_CTX;
       return(GSS_S_FAILURE);
    }
 
    /* compute the bit offset */
    /*SUPPRESS 570*/
-   for (bit=0; (1<<bit) != LSBGET(tmp); bit++) ;
+   for (bit=0; (((OM_uint32) 1)<<bit) != LSBGET(tmp); bit++) ;
 
    /* print it */
    if (ret = display_bit(minor_status, bit, status_string))
       return(ret);
 
    /* compute the new status_value/message_context */
-   status_value -= 1<<bit;
+   status_value -= ((OM_uint32) 1)<<bit;
 
    if (status_value) {
       *message_context = bit+3;
index 54a25f78355d25ed6b34681f0d4f7120d6edc155..d8d86bb6a746fb0457930fcdb8a8a76f7c8001f4 100644 (file)
    things */
 
 #define TWRITE_INT(ptr, num, bigend) \
-   (ptr)[0] = (bigend)?((num)>>24):((num)&0xff); \
-   (ptr)[1] = (bigend)?(((num)>>16)&0xff):(((num)>>8)&0xff); \
-   (ptr)[2] = (bigend)?(((num)>>8)&0xff):(((num)>>16)&0xff); \
-   (ptr)[3] = (bigend)?((num)&0xff):((num)>>24); \
+   (ptr)[0] = (char) ((bigend)?((num)>>24):((num)&0xff)); \
+   (ptr)[1] = (char) ((bigend)?(((num)>>16)&0xff):(((num)>>8)&0xff)); \
+   (ptr)[2] = (char) ((bigend)?(((num)>>8)&0xff):(((num)>>16)&0xff)); \
+   (ptr)[3] = (char) ((bigend)?((num)&0xff):((num)>>24)); \
    (ptr) += 4;
 
 #define TREAD_INT(ptr, num, bigend) \
index 89de87a0289d5b7e6e78b1d72ab07fb27f00a2d8..1a82c96d316364ca10d8a2853ce73b2abbdfa874 100644 (file)
  */
 
 /* This file could be OS specific */
+#define NEED_SOCKETS
 #include "gssapiP_generic.h"
-#ifndef _MSDOS
+
 #include <sys/types.h>
+#ifndef _WINSOCKAPI_
 #include <sys/socket.h>
 #include <netdb.h>
+#endif
 #include <ctype.h>
+#include <string.h>
 
 char * INTERFACE
 g_canonicalize_host(hostname)
@@ -61,4 +65,3 @@ g_canonicalize_host(hostname)
 
    return(canon);
 }
-#endif
index e3e3e52a6dfa1b1aba688d2b1dfe6649fe2479cd..d6ce11824a17dc344020563aa9ebe4513278fd9d 100644 (file)
@@ -21,6 +21,7 @@
  */
 
 #include "gssapiP_generic.h"
+#include <string.h>
 
 char * INTERFACE g_strdup(str)
      char *str;
index 424125d5da8d271403edbec54deb38ac85d71fe3..c5067fde95d25bab41d763907938015a43fb8d6e 100644 (file)
@@ -116,7 +116,7 @@ int INTERFACE g_token_size(mech, body_size)
      unsigned int body_size;
 {
    /* set body_size to sequence contents size */
-   body_size += 4 + mech->length;
+   body_size += 4 + (int) mech->length;         /* NEED overflow check */
    return(1 + der_length_size(body_size) + body_size);
 }
 
@@ -172,7 +172,9 @@ int INTERFACE g_verify_token_header(mech, body_size, buf, tok_type, toksize)
       return(0);
    toid.length = *(*buf)++;
 
-   if ((toksize-=toid.length) < 0)
+   if ((toid.length & VALID_INT_BITS) != toid.length) /* Overflow??? */
+      return(0);
+   if ((toksize-= (int) toid.length) < 0)
       return(0);
    toid.elements = *buf;
    (*buf)+=toid.length;