rxkad-client-offer-better-bad-token-warnings-20020912
authorDerrick Brashear <shadow@dementia.org>
Fri, 13 Sep 2002 03:48:45 +0000 (03:48 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 13 Sep 2002 03:48:45 +0000 (03:48 +0000)
if it's too large to be a valid token, offer a useful error.

src/afs/afs_pioctl.c
src/rxkad/rxkad_client.c

index e9b108f..463c703 100644 (file)
@@ -1360,6 +1360,7 @@ DECL_PIOCTL(PSetTokens)
     ain += sizeof(afs_int32);
     stp        = ain;  /* remember where the ticket is */
     if (i < 0 || i > 2000) return EINVAL;      /* malloc may fail */
+    if (i > MAXKTCTICKETLEN) return EINVAL;
     stLen = i;
     ain        += i;   /* skip over ticket */
     memcpy((char *)&i, ain, sizeof(afs_int32));
index 042e091..769c338 100644 (file)
@@ -190,6 +190,7 @@ struct rx_securityClass *rxkad_NewClientSecurityObject(
     memcpy((void *)tcp->ivec, (void *)sessionkey, sizeof(tcp->ivec));
     tcp->kvno = kvno;                  /* key version number */
     tcp->ticketLen = ticketLen;                /* length of ticket */
+    if (tcp->ticketLen > MAXKTCTICKETLEN) return 0; /* bad key */
     memcpy(tcp->ticket, ticket, ticketLen);
 
     LOCK_RXKAD_STATS