X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fupap.c;h=6bf8dece21411fc3cc94c89a99683485b9499f45;hp=693c684f084105ccfc764482129a05c00d188956;hb=4faf67061e6954ee068278dc0b8155207771c316;hpb=9b4646bd15f16035b8ff161730b3da9df3fb4713 diff --git a/pppd/upap.c b/pppd/upap.c index 693c684..6bf8dec 100644 --- a/pppd/upap.c +++ b/pppd/upap.c @@ -17,7 +17,7 @@ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#define RCSID "$Id: upap.c,v 1.19 1999/08/13 06:46:21 paulus Exp $" +#define RCSID "$Id: upap.c,v 1.20 1999/08/24 05:29:26 paulus Exp $" /* * TODO: @@ -433,18 +433,18 @@ upap_rauthack(u, inp, id, len) * Parse message. */ if (len < sizeof (u_char)) { - UPAPDEBUG(("pap_rauthack: rcvd short packet.")); - return; - } - GETCHAR(msglen, inp); - if (msglen > 0) { - len -= sizeof (u_char); - if (len < msglen) { - UPAPDEBUG(("pap_rauthack: rcvd short packet.")); - return; + UPAPDEBUG(("pap_rauthack: ignoring missing msg-length.")); + } else { + GETCHAR(msglen, inp); + 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; @@ -473,18 +473,18 @@ upap_rauthnak(u, inp, id, len) * Parse message. */ if (len < sizeof (u_char)) { - UPAPDEBUG(("pap_rauthnak: rcvd short packet.")); - return; - } - GETCHAR(msglen, inp); - if (msglen > 0) { - len -= sizeof (u_char); - if (len < msglen) { - UPAPDEBUG(("pap_rauthnak: rcvd short packet.")); - return; + UPAPDEBUG(("pap_rauthnak: ignoring missing msg-length.")); + } else { + GETCHAR(msglen, inp); + 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;