bug in crypt-gpgme.c and GPGME backend failure
Hi,
I am using mutt-1.5.16 and gpgme 1.1.4. I have two problems with mutt's
gpgme-backend:
a) There's a bug in crypt-gpgme.c, line 1558, that causes a bus
error on my machine.
b) gpgme always returns a "file not found" error, but I have no clue which
file it is looking for.
To a): I have a GPG-encrypted mail in my inbox. Whenever I tried to open the
mail, mutt core dumped in line 1558 of crypt-gpgme.c. It turned out that
`verify_result = gpgme_op_verify_result (ctx)´ was NULL (which is most likely
a symptom of my problem (b)) Therefore the following test
`if (verify_result->signatures)´ dereferenced a NULL pointer.
I attached a patch that fixes this bug.
To b): I used mutt's gpgme backend without major problems on a linux machince
almost since it was merged into trunk. However, since I started using a
MacBook Pro (Intel) with Max OS 10.4, I cannot get it working anymore - gpgme
always reports "no such file or directory".
The problem is, I have no idea which file access fails. I already looked
through a dump of all system calls (generated with ktrace), but nothing caught
my eyes. Can anyone suggest a way to trace down what is causing this failure?
Regards
Christoph
--
FH Worms - University of Applied Sciences
Fachbereich Informatik / Telekommunikation
Erenburgerstr. 19, 67549 Worms, Germany
Mutt 1.5.16 (2007-06-09)
Copyright (C) 1996-2007 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.
System: Darwin 8.10.1 (i386)
ncurses: ncurses 5.6.20061217 (compiled with 5.4)
libiconv: 1.11
Compile options:
-DOMAIN
+DEBUG
-HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE
+USE_FCNTL -USE_FLOCK -USE_INODESORT
+USE_POP +USE_IMAP -USE_SMTP -USE_GSS +USE_SSL_OPENSSL -USE_SSL_GNUTLS
-USE_SASL +HAVE_GETADDRINFO
+HAVE_REGCOMP -USE_GNU_REGEX
+HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
+HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
+CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME +CRYPT_BACKEND_GPGME
-EXACT_ADDRESS -SUN_ATTACHMENT
+ENABLE_NLS -LOCALES_HACK +HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET
+HAVE_LANGINFO_YESEXPR
+HAVE_ICONV -ICONV_NONTRANS -HAVE_LIBIDN +HAVE_GETSID +USE_HCACHE
-ISPELL
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/Users/cludwig/usr//share/mutt"
SYSCONFDIR="/Users/cludwig/usr//etc"
EXECSHELL="/bin/sh"
-MIXMASTER
To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
To report a bug, please visit http://bugs.mutt.org/.
--- crypt-gpgme.c.orig 2007-06-10 04:52:01.000000000 +0200
+++ crypt-gpgme.c 2007-07-14 14:48:36.000000000 +0200
@@ -1555,7 +1555,7 @@
{
/* Check wether signatures have been verified. */
gpgme_verify_result_t verify_result = gpgme_op_verify_result (ctx);
- if (verify_result->signatures)
+ if (verify-result && verify_result->signatures)
sig_stat = 1;
}
}