> > Index: tcpdump.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/tcpdump/tcpdump.c,v
> > retrieving revision 1.70
> > diff -u -p -r1.70 tcpdump.c
> > --- tcpdump.c       18 Apr 2015 18:28:38 -0000      1.70
> > +++ tcpdump.c       11 Jul 2015 20:35:11 -0000
> > @@ -603,8 +603,10 @@ default_print_ascii(const u_char *cp, un
> >     printf("\n");
> >     for (i = 0; i < length; i++) {
> >             c = cp[i];
> > -           c = isprint(c) || isspace(c) ? c : '.';
> > -           putchar(c);
> > +           if (isprint(c) || c == '\t' || c == '\n' || c == '\r')
> 
> does printing '\r' will allow overriding previously printed char on line ?
> 
> $ echo 'bad thing\rgood thing'
> good thing

Hah, yeah pretty bad.

I sent a mail to naddy mentioning that a long time ago (feels like 10
years ago) we talked about using vis, but this would have made our
tcpdump far too different from others.  Not that it is very similar,
because of the baked-in privsep work.  Which reminds me... I have a
diff to send out...

Reply via email to