X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fupap.c;h=53d4a3ce09638a510cba12195246cd349bde1733;hb=875d9641d05b4fcb7e186f784c801962bb2670e5;hp=c59f0ba1fac30753d9475dd8bc8ba81685f4b261;hpb=0c7a998d2528a7f39af06e5c1eaaaad8ba24dc4b;p=ppp.git diff --git a/pppd/upap.c b/pppd/upap.c index c59f0ba..53d4a3c 100644 --- a/pppd/upap.c +++ b/pppd/upap.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: upap.c,v 1.16 1999/04/28 02:45:44 paulus Exp $"; +static const char rcsid[] = "$Id: upap.c,v 1.18 1999/08/12 04:25:25 paulus Exp $"; #endif /* @@ -437,13 +437,15 @@ upap_rauthack(u, inp, id, len) return; } GETCHAR(msglen, inp); - len -= sizeof (u_char); - if (len < msglen) { - UPAPDEBUG(("pap_rauthack: rcvd short packet.")); - return; + if (msglen > 0) { + len -= sizeof (u_char); + if (len < msglen) { + UPAPDEBUG(("pap_rauthack: rcvd short packet.")); + return; + } + msg = (char *) inp; + PRINTMSG(msg, msglen); } - msg = (char *) inp; - PRINTMSG(msg, msglen); u->us_clientstate = UPAPCS_OPEN; @@ -475,13 +477,15 @@ upap_rauthnak(u, inp, id, len) return; } GETCHAR(msglen, inp); - len -= sizeof (u_char); - if (len < msglen) { - UPAPDEBUG(("pap_rauthnak: rcvd short packet.")); - return; + if (msglen > 0) { + len -= sizeof (u_char); + if (len < msglen) { + UPAPDEBUG(("pap_rauthnak: rcvd short packet.")); + return; + } + msg = (char *) inp; + PRINTMSG(msg, msglen); } - msg = (char *) inp; - PRINTMSG(msg, msglen); u->us_clientstate = UPAPCS_BADAUTH;