]> andersk Git - moira.git/commitdiff
avoid buffer overrun when verifying certain kinds of bad signatures
authordanw <danw>
Mon, 10 Aug 1998 17:39:04 +0000 (17:39 +0000)
committerdanw <danw>
Mon, 10 Aug 1998 17:39:04 +0000 (17:39 +0000)
util/gdss/lib/rgdss.c

index 10e3e0689f521835398d70872bbd74dc35522a57..a05a4fc016062da589d3f839f08fffd14f2d2425 100644 (file)
@@ -161,11 +161,11 @@ unsigned char *rawsig;
     *cp++ = hash[i];
   if (*cp++ != 0x44) return (GDSS_E_BVERSION); /* Bad Version */
   ip = (unsigned char *) name;
-  while (*ip++ = *cp++);
+  while (*ip++ = *cp++ && ip < name + ANAME_SZ);
   ip = (unsigned char *) instance;
-  while (*ip++ = *cp++);
+  while (*ip++ = *cp++ && ip < instance + INST_SZ);
   ip = (unsigned char *) realm;
-  while (*ip++ = *cp++);
+  while (*ip++ = *cp++ && ip < realm + REALM_SZ);
   *the_time = 0;
   *the_time |= *cp++ << 24;
   *the_time |= *cp++ << 16;
This page took 0.217324 seconds and 5 git commands to generate.