Vernon Schryver
vjs@calcite.rhyolite.com
Fri Mar 18 17:16:20 UTC 2005
> From: Vincent Schonau
> #0 0x00701940 in rawmemchr () from /lib/tls/libc.so.6
> #1 0x006f6c85 in _IO_str_init_static_internal () from /lib/tls/libc.so.6
> #2 0x006ebedd in vsscanf () from /lib/tls/libc.so.6
> #3 0x006e72bb in sscanf () from /lib/tls/libc.so.6
> #4 0x0804a0e0 in do_grey () at dccsight.c:259
> #5 0x08049d60 in main (argc=0, argv=0xbfeed6c0) at dccsight.c:165
I do not understand that. Line 259 is
if (4 != sscanf(optarg, "%16x %16x %16x %16x\n",
&u.n[0], &u.n[1], &u.n[2], &u.n[3]))
dcc_logbad(EX_USAGE,
"unrecognized greylist checksum");
with
union {
u_int32_t n[4];
DCC_SUM sum;
} u;
optarg should be the string "14603910 533bc8c7 7e075830 b3bffb0e"
but no matter what it is, I don't see why sscanf() should be going crazy.
Those %16x patterns look stupid for 32-bit values, but I don't see
what harm they could do. What am I missing?
Vernon Schryver vjs@rhyolite.com
More information about the DCC
mailing list