BUG: Segmentation fault with gnupg-1.4.x on Solaris with "--debug 16"

M. Heneka m.heneka at googlemail.com
Tue Aug 19 16:33:38 CEST 2008


Hello,

I discovered a bug in gnupg-1.4.x and possibly in later versions. The
segmentation fault occurs on Solaris when decrypting/encrypting a file with
the debug mode for IO-buffers ("--debug 16"). The problem is in the
following line of "iobuf.c: iofbuf_close()":

log_debug ("iobuf-%d.%d: close `%s'\n", a->no, a->subno, a->desc);

An IO-buffer with desc==NULL causes the crash. The glibc feature
"printf("%s", NULL);" is not available in the Solaris implementation of
glibc. The bug can be fixed with:

log_debug ("iobuf-%d.%d: close `%s'\n", a->no, a->subno, a->desc ? a->desc :
"(null)" );

or by introducing a function gpg_nonullstr() like in
http://blogs.gnome.org/desrt/2007/10/01/gcc%20feature%20breaks%20glibc%20feature/#comment-382

This article describes problems with this glibc feature. See also the links
specific to Solaris.

M. Heneka




More information about the Gnupg-devel mailing list