Environment
Debian Release: 3.0
Architecture: sparc
Kernel: Linux albion.dl.ac.uk 2.4.19 #1 Sat Oct 5 15:26:43 EDT 2002 sparc64
Locale: LANG=C, LC_CTYPE=en_GB
Versions of packages gnupg depends on:
ii libc6 2.2.5-14.3 GNU C Library: Shared libraries an
ii libldap2 2.0.23-6 OpenLDAP libraries.
ii makedev 2.3.1-58 Creates device files in /dev.
ii zlib1g 1:1.1.4-1 compression library - runtime
Description
I see the following (originally in 1.2.0-1, and I then upgraded to
check):
$ gpg --search annihilator-1@erlenstar.demon.co.uk
gpg: searching for "annihilator-1@erlenstar.demon.co.uk" from HKP server wwwkeys.uk.pgp.net
Keys 1-1 of 1 for "annihilator-1@erlenstar.demon.co.uk"
(1) Annihilator <annihilator-1@erlenstar.demon.co.uk>
512 bit RSA key 02216DD9, created 1998-03-01
Enter number(s), N)ext, or Q)uit > 1
gpg: key 02216DD9: public key "Annihilator <annihilator-1@erlenstar.demon.co.uk>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Bus error
It seems actually to have succeeded, but also crashes when the key is
in the ring:
$ gpg --search annihilator-1@erlenstar.demon.co.uk
gpg: searching for "annihilator-1@erlenstar.demon.co.uk" from HKP server wwwkeys.uk.pgp.net
Keys 1-1 of 1 for "annihilator-1@erlenstar.demon.co.uk"
(1) Annihilator <annihilator-1@erlenstar.demon.co.uk>
512 bit RSA key 02216DD9, created 1998-03-01
Enter number(s), N)ext, or Q)uit > 1
gpg: key 02216DD9: "Annihilator <annihilator-1@erlenstar.demon.co.uk>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Bus error
How To Repeat
From James Troup:
(gdb) run --keyserver wwwkeys.uk.pgp.net --search annihilator-1@erlenstar.demon.co.uk
Starting program: /home/troup/gnupg-1.2.1/g10/gpg --keyserver wwwkeys.uk.pgp.net --search annihilator-1@erlenstar.demon.co.uk
gpg: WARNING: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information
gpg: searching for "annihilator-1@erlenstar.demon.co.uk" from HKP server wwwkeys.uk.pgp.net
Keys 1-1 of 1 for "annihilator-1@erlenstar.demon.co.uk"
(1) Annihilator <annihilator-1@erlenstar.demon.co.uk>
512 bit RSA key 02216DD9, created 1998-03-01
Enter number(s), N)ext, or Q)uit > 1
gpg: key 02216DD9: public key "Annihilator <annihilator-1@erlenstar.demon.co.uk>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Program received signal SIGBUS, Bus error.
0x700f32e4 in _int_free (av=0x701bb8b4, mem=0x653e0d0a) at malloc.c:4167
4167 malloc.c: No such file or directory.
in malloc.c
(gdb) bt
#0 0x700f32e4 in _int_free (av=0x701bb8b4, mem=0x653e0d0a) at malloc.c:4167
#1 0x700f1ecc in libc_free (mem=0x12c170) at malloc.c:3344
#2 0x000e0fd0 in m_free (a=0x12c170) at memory.c:553
#3 0x000e4520 in iobuf_close (a=0x12c0f0) at iobuf.c:940
#4 0x00077884 in hkp_search (tokens=0x0) at hkp.c:606
#5 0x0008c314 in keyserver_work (action=2, list=0x128b18, desc=0x0, count=0) at keyserver.c:696
#6 0x0008d010 in keyserver_search (tokens=0x128b18) at keyserver.c:996
#7 0x00018fa8 in main (argc=0, argv=0xeffffd88) at g10.c:2261
#8 0x7008c8f0 in libc_start_main (main=0x14a14 <main>, argc=5, ubp_av=0xeffffd74, init=0x12544 <_init>, fini=0x70028398 <_rtld_local>,
rtld_fini=0x7000cb78 <_dl_fini>, stack_end=0x5) at ../sysdeps/generic/libc-start.c:144
(gdb) bt full
#0 0x700f32e4 in _int_free (av=0x701bb8b4, mem=0x653e0d0a) at malloc.c:4167
p = (struct malloc_chunk *) 0x12c168 size = 8456 nextchunk = (struct malloc_chunk *) 0x12e170 nextsize = 256 prevsize = 256 bck = (struct malloc_chunk *) 0x653e0d0a fwd = (struct malloc_chunk *) 0x72
#1 0x700f1ecc in __libc_free (mem=0x12c170) at malloc.c:3344
ar_ptr = (struct malloc_state *) 0x701bb8b4 p = (struct malloc_chunk *) 0x701bb8b4 hook = (void (*)(void *, const void *)) 0
#2 0x000e0fd0 in m_free (a=0x12c170) at memory.c:553
p = (byte *) 0x12c170 ""
#3 0x000e4520 in iobuf_close (a=0x12c0f0) at iobuf.c:940
a2 = 0x0 dummy_len = 0 rc = 0
#4 0x00077884 in hkp_search (tokens=0x0) at hkp.c:606
buffer = 0x12c0f0
count = 1
ret = 0
buflen = 256
line = (byte *) 0x12e178 ""
rc = 0
len = 43
max = 100
first = 0
searchstr = (unsigned char *) 0x128b90 "annihilator-1@erlenstar.demon.co.uk"
searchurl = (unsigned char *) 0x128bc0 "annihilator-1%40erlenstar%2Edemon%2Eco%2Euk"
request = (unsigned char *) 0x128c30 "x-hkp://wwwkeys.uk.pgp.net/pks/lookup?op=index&search=annihilator-1%40erlenstar%2Edemon%2Eco%2Euk"
hd = {initialized = 0, status_code = 200, sock = 7, in_data = 0, fp_read = 0x129f60, fp_write = 0x0, is_http_0_9 = 0, uri = 0x128cd8,
req_type = HTTP_REQ_GET, buffer = 0x12bfe8 "", buffer_size = 256, flags = 0}
hflags = 0#5 0x0008c314 in keyserver_work (action=2, list=0x128b18, desc=0x0, count=0) at keyserver.c:696
stats_handle = (void *) 0x128b50 rc = 0 ret = 0
#6 0x0008d010 in keyserver_search (tokens=0x128b18) at keyserver.c:996
No locals.
#7 0x00018fa8 in main (argc=0, argv=0xeffffd88) at g10.c:2261
pargs = {argc = 0xeffffcf4, argv = 0xeffffcf8, flags = 32769, err = 0, r_opt = 0, r_type = 0, r = {ret_int = 0, ret_long = 0, ret_ulong = 0,
ret_str = 0x0}, internal = {idx = 4, inarg = 0, stopped = 1, last = 0xeffffe8e "annihilator-1@erlenstar.demon.co.uk", aliases = 0x0, cur_alias = 0x0}}
a = 0x5
rc = 0
orig_argc = 5
orig_argv = (char **) 0xeffffd74
fname = 0xeffffe8e "annihilator-1@erlenstar.demon.co.uk"
username = 0x0
may_coredump = 0
sl = 0x128b18
remusr = 0x0
locusr = 0x0
nrings = 0x0
sec_nrings = 0x0
afx = {what = 0, only_keyblocks = 1, hdrlines = 0x701b87d4 "", no_openpgp_data = 0, inp_checked = 0, inp_bypass = 768, in_cleartext = 772,
not_dash_escaped = 192, hashes = 0, faked = 1880857688, truncated = 5, qp_detected = -268436108, pgp2mode = -268436084,
buffer = 0x70050000 "\177ELF\001\002\001", buffer_size = 6568, buffer_len = 1879217896, buffer_pos = 4026530888, radbuf = "p\0�\224", idx = 0, idx2 = 0,
crc = 0, status = 0, cancel = 1879551480, any_data = 1879218512, pending_lf = 0}
detached_sig = 0
configfp = (FILE *) 0x0
configname = 0x0
configlineno = 200
parse_debug = 0
default_config = 0
default_keyring = 1
greeting = 0
nogreeting = 0
use_random_seed = 1
cmd = aSearchKeys
trustdb_name = 0x0
def_cipher_string = 0x0
def_digest_string = 0x0
cert_digest_string = 0x0
s2k_cipher_string = 0x0
s2k_digest_string = 0x0
pers_cipher_list = 0x0
pers_digest_list = 0xf53e0 "h2"
pers_compress_list = 0x0
eyes_only = 0
pwfd = -1
with_fpr = 0
any_explicit_recipient = 0
requested_shm_size = 0#8 0x7008c8f0 in __libc_start_main (main=0x14a14 <main>, argc=5, ubp_av=0xeffffd74, init=0x12544 <_init>, fini=0x70028398 <_rtld_local>,
rtld_fini=0x7000cb78 <_dl_fini>, stack_end=0x5) at ../sysdeps/generic/libc-start.c:144
ubp_ev = (char **) 0xeffffd74(gdb)
Fix
Memory corruption