null-terminate-cell-when-copying-from-lrealm-20010326
authorHarald Barth <haba@pdc.kth.se>
Mon, 26 Mar 2001 17:18:42 +0000 (17:18 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 26 Mar 2001 17:18:42 +0000 (17:18 +0000)
Avoid condition where we could read past the end of lrealm (unlikely
to occur in practice and not remotely exploitable; cell and lrealm are
both MAXKTCREALMLEN and lrealm is configured locally and not read from the
network)

src/kauth/krb_udp.c

index d8f8db2..65b144f 100644 (file)
@@ -446,7 +446,10 @@ afs_int32 UDP_GetTicket (ksoc, pkt, kvno, authDomain, ticket, ticketLen, auth, a
       code = KERB_ERR_PKT_VER; /* was KABADTICKET */
       goto abort;
     }
-    if (celllen == 0) strcpy (cell, lrealm);
+    if (celllen == 0) {
+       strncpy (cell, lrealm, MAXKTCREALMLEN-1);
+       cell[MAXKTCREALMLEN-1] = 0;
+    };
 
     if (krb_udp_debug) {
        printf ("UGetTicket: got ticket from '%s'.'%s'@'%s'\n",