]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/main.c
limit printing of excess data in log to 32 bytes
[ppp.git] / pppd / main.c
index dbeaeac0ce400338301c9e9cd968541be41fc00b..2141879090fc378c770119c08e03c41700ef3b20 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: main.c,v 1.51 1998/11/07 06:59:28 paulus Exp $";
+static char rcsid[] = "$Id: main.c,v 1.54 1999/03/02 05:36:42 paulus Exp $";
 #endif
 
 #include <stdio.h>
@@ -827,8 +827,12 @@ close_tty()
 
     restore_tty(ttyfd);
 
-    if (tty_mode != (mode_t) -1)
-       chmod(devnam, tty_mode);
+    if (tty_mode != (mode_t) -1) {
+       if (fchmod(ttyfd, tty_mode) != 0) {
+           /* XXX if devnam is a symlink, this will change the link */
+           chmod(devnam, tty_mode);
+       }
+    }
 
     close(ttyfd);
     ttyfd = -1;
@@ -1374,10 +1378,12 @@ format_packet(p, len, printer, arg)
        }
     }
 
-    for (; len > 0; --len) {
+    for (i = 0; i < len && i < 32; ++i) {
        GETCHAR(x, p);
        printer(arg, " %.2x", x);
     }
+    if (i < len)
+       printer(arg, " ...");
 }
 
 static void