poldi bug: SIGSEGV if no reader
Lionel Elie Mamane
lionel at mamane.lu
Thu Feb 16 22:26:52 CET 2006
Hi,
I found a bug in poldi; I didn't find a poldi category on
http://bugs.gnupg.org/cgi-bin/gnatsweb.pl?database=gnupg, so I send it
here.
When pcscd is running, but no reader is connected, poldi makes the
program segfault. Here is a backtrace:
#0 0xb7e7e15a in strcmp () from /lib/tls/i686/cmov/libc.so.6
#1 0xb7e92bc7 in __tzstring () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7e93e80 in __tzfile_compute () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7e93a18 in __tz_convert () from /lib/tls/i686/cmov/libc.so.6
#4 0xb7e91d8d in localtime_r () from /lib/tls/i686/cmov/libc.so.6
#5 0xb7eddd24 in vsyslog () from /lib/tls/i686/cmov/libc.so.6
#6 0xb7b89183 in log_get_stream () from /lib/security/pam_poldi.so
#7 0xb7b89416 in log_error () from /lib/security/pam_poldi.so
#8 0xb7b82f33 in pam_sm_authenticate () from /lib/security/pam_poldi.so
#9 0xb7f4ca9a in _pam_dispatch () from /lib/libpam.so.0
#10 0xb7f4ed9e in pam_authenticate () from /lib/libpam.so.0
and an strace (5 is the socket used to communicate with pcscd):
close(5) = 0
open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libgpg-error.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/libgpg-error.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_GB/LC_MESSAGES/libgpg-error.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libgpg-error.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libgpg-error.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libgpg-error.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
time([1140124486]) = 1140124486
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
and an ltrace:
pam_set_item(0x80707f8, 9, 0xbfbbc06c, 0xbfbbc16c, 0) = 0
pam_get_item(0x80707f8, 2, 0xbfbbc348, 0xbfbbc16c, 0) = 0
pam_set_item(0x80707f8, 2, 0, 0xbfbbc16c, 0) = 0
pam_authenticate(0x80707f8, 0, 0, 0xbfbbc16c, 0 <unfinished ...>
misc_conv(1, 0xbfbb9d68, 0xbfbb9d64, 0, 0x6cebf48) = 0
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
Besides the wait-timeout option is not documented (but should really
be set by default!).
Thanks for your attention to this,
--
Lionel
More information about the Gnupg-devel
mailing list