gpgme assert crash during op_encrypt_sign

Marcus Brinkmann Marcus.Brinkmann at ruhr-uni-bochum.de
Tue Aug 20 13:01:01 CEST 2002


On Mon, Aug 19, 2002 at 10:13:50PM -0700, J Robert Ray wrote:
> I'm getting an assertion during gpgme_op_encrypt_sign():
> data.c:694: _gpgme_data_append: Assertion 'dh' failed.
> 
> The line number may not line up with the latest CVS version, I'm using
> 0.3.6 because newer versions fail to compile on me, an error building
> the documentation actually.  But anyway the problem seems to still be in
> the latest version, looking at the source in CVS.

Read the README file and follow the instructions that say to add
--enable-maintainer-mode to configure.  This only applies to the CVS
version.
 
> ~  _gpgme_sign_status_handler (ctx, code, args);
> ~  if (code == STATUS_EOF && encrypt_info)
> ~    _gpgme_data_append (ctx->op_info, encrypt_info, encrypt_info_len);
> 
> The assertion happens because ctx->op_info is NULL.

Yes, this needs more work.  Thanks for spotting it, I am working on a fix.
The logic needs to be a bit cleaned up.  Note that there is aconflict here
because the encrypt status handler also tries to set the op info.

> Based on the documentation, I thought this should encrypt for as many
> recipients as possible, and return that some recipients were bad, or
> that they were all bad.  Is it possible to find out which keys are bad
> and which are good?

The op_info should contain this information, but currently this doesn't seem
to work because the sign status handler overrides the result?  I will look
into it.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    marcus at gnu.org
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
Marcus.Brinkmann at ruhr-uni-bochum.de
http://www.marcus-brinkmann.de/




More information about the Gnupg-devel mailing list