> Hmm ... that is curious. I wonder if the 4096-byte stack buffer is
> too large for your system. Could you try changing:
If that has something to do with my system, I can precise it's an ibook
first generation (clamshell) with a G3 366 MHz and 128 M Ram.
> char b[4096]
>
> to char b[1024]
>
> on line 520 of output.cc, recompile, and let us know if it still
> crashes? If it DOES still crash, what would be useful to see is log
> of:
Ãnfortunately, it still crashes.
> gdb nmap
> break log_write
> r -oS - 192.168.0.1
> [ when it stops execution, press 'n', then just keep pressing enter
> until it crashes, which should be less than twenty keypresses ]
>
> If you could send me the output from that test, it would be quite useful.
>
> Thanks,
> Fyodor
Here is the ouptut :
(gdb) break log_write
Breakpoint 1 at 0x1001a834: file output.cc, line 527.
(gdb) r -oS - 192.168.0.1
Starting program: /home/christophe/nmap-3.81/nmap -oS - 192.168.0.1
Breakpoint 1, log_write (logt=1032, fmt=0x1008c078
"\020\bÃ\220\020\bÃÅ\020\bÃÃ\020\bÃÃ") at output.cc:527
527 if (l & LOG_STDOUT) {
(gdb) n
523 bool buf_alloced = false;
(gdb)
527 if (l & LOG_STDOUT) {
(gdb)
519 int i,l=logt,skid=1;
(gdb)
526 va_start(ap, fmt);
(gdb)
517 {
(gdb)
526 va_start(ap, fmt);
(gdb)
519 int i,l=logt,skid=1;
(gdb)
526 va_start(ap, fmt);
(gdb)
521 char *buf = b;
(gdb)
526 va_start(ap, fmt);
(gdb)
522 int bufsz = sizeof(b);
(gdb)
526 va_start(ap, fmt);
(gdb)
527 if (l & LOG_STDOUT) {
(gdb)
528 vfprintf(o.nmap_stdout, fmt, ap);
(gdb)
529 l-=LOG_STDOUT;
(gdb)
528 vfprintf(o.nmap_stdout, fmt, ap);
(gdb)
531 if (l & LOG_SKID_NOXLT) { skid=0; l -= LOG_SKID_NOXLT; l |=
LOG_SKID; }
(gdb)
532 if (l<0 || l>LOG_MASK) return;
(gdb)
533 for (i=0;l;l>>=1,i++)
(gdb)
535 if (!o.logfd[i] || !(l&1)) continue;
(gdb)
533 for (i=0;l;l>>=1,i++)
(gdb)
535 if (!o.logfd[i] || !(l&1)) continue;
(gdb)
533 for (i=0;l;l>>=1,i++)
(gdb)
535 if (!o.logfd[i] || !(l&1)) continue;
(gdb)
533 for (i=0;l;l>>=1,i++)
(gdb)
535 if (!o.logfd[i] || !(l&1)) continue;
(gdb)
537 rc = vsnprintf(buf,bufsz, fmt, ap);
(gdb)
Program received signal SIGSEGV, Segmentation fault.
0x0fd8481c in strlen () from /lib/libc.so.6
(gdb)
Hope that helps
Christophe
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]