]> git.ozlabs.org Git - ppp.git/commitdiff
don't print null received message, %.0[svq] prints nothing
authorPaul Mackerras <paulus@samba.org>
Thu, 24 Jun 1999 00:17:48 +0000 (00:17 +0000)
committerPaul Mackerras <paulus@samba.org>
Thu, 24 Jun 1999 00:17:48 +0000 (00:17 +0000)
pppd/upap.c
pppd/utils.c

index c59f0ba1fac30753d9475dd8bc8ba81685f4b261..5354c6cbba678d3511a1a11cc2dd92dfbe8ff3e2 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: upap.c,v 1.16 1999/04/28 02:45:44 paulus Exp $";
+static char rcsid[] = "$Id: upap.c,v 1.17 1999/06/24 00:17:48 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;
 
index 8c818965406e7b2a3e4ec1a7bc3f4739eb1a92b5..131429d59a7081f3efb5e5daaeaed036d3a3b025 100644 (file)
@@ -17,7 +17,7 @@
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 #ifndef lint
-static char rcsid[] = "$Id: utils.c,v 1.5 1999/06/01 01:43:34 paulus Exp $";
+static char rcsid[] = "$Id: utils.c,v 1.6 1999/06/24 00:17:48 paulus Exp $";
 #endif
 
 #include <stdio.h>
@@ -171,7 +171,8 @@ vslprintf(buf, buflen, fmt, args)
        if (*fmt == 0)
            break;
        c = *++fmt;
-       width = prec = 0;
+       width = 0;
+       prec = -1;
        fillch = ' ';
        if (c == '0') {
            fillch = '0';
@@ -192,6 +193,7 @@ vslprintf(buf, buflen, fmt, args)
                prec = va_arg(args, int);
                c = *++fmt;
            } else {
+               prec = 0;
                while (isdigit(c)) {
                    prec = prec * 10 + c - '0';
                    c = *++fmt;
@@ -265,11 +267,11 @@ vslprintf(buf, buflen, fmt, args)
        case 'q':               /* quoted string */
            quoted = c == 'q';
            p = va_arg(args, unsigned char *);
-           if (fillch == '0' && prec > 0) {
+           if (fillch == '0' && prec >= 0) {
                n = prec;
            } else {
                n = strlen((char *)p);
-               if (prec > 0 && prec < n)
+               if (prec >= 0 && n > prec)
                    n = prec;
            }
            while (n > 0 && buflen > 0) {
@@ -354,7 +356,7 @@ vslprintf(buf, buflen, fmt, args)
            len = num + sizeof(num) - 1 - str;
        } else {
            len = strlen(str);
-           if (prec > 0 && len > prec)
+           if (prec >= 0 && len > prec)
                len = prec;
        }
        if (width > 0) {