<<< Date Index >>>     <<< Thread Index >>>

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;
       }
     }