Access violation using gpgme

Daniel Lo Nigro d at
Tue Feb 5 19:59:48 CET 2019

The code was using gpgme_io_write to write the passphrase followed by a
null byte:
I changed it to gpgme_io_writen and newline. That code was written by
someone else way back in 2013 so I wonder if it's been broken this entire
time. Here's the changes I've made so far:

Now I'm getting closer, but there's still some odd behaviour. The first
time I run my test app, I get an access violation. However, it does spawn
gpg-agent correctly, and the second time I run it, it works fine! I guess
gpg-agent is properly receiving/caching the passphrase.

Daniel Lo Nigro | Twitter <> | Facebook

On Tue, Feb 5, 2019 at 10:32 AM Andre Heinecke <aheinecke at> wrote:

> Hi,
> On Tuesday, February 5, 2019 6:21:45 PM GMT Daniel Lo Nigro wrote:
> > I'm using gpgme_set_pinentry_mode to set the pinentry mode to "loopback",
> > and the access violation is being encountered after my pinentry callback
> > returns. It works fine if I don't use loopback, and instead use the
> > system's pinentry mechanism.
> This sounds like your passphrase callback returns invalid data. I would
> have
> to look how the PassphraseResult is mapped in the C# bindings but from the
> C
> API:
> The user must write the passphrase, followed by a newline character,
> to the file descriptor @var{fd}.  The function @code{gpgme_io_writen}
> should be used for the write operation.  Note that if the user returns
> 0 to indicate success, the user must at least write a newline
> character before returning from the callback.
> I do not think that you need to post your full code, but I would be
> interested
> in seeing your Passphrase callback.
> (Sorry If I'm  the only one answering here but in the GnuPG Team I'm the
> Guy
> for "all things windows" ;-) )
> Regards,
> Andre
> --
> GnuPG e.V., Rochusstr. 44, D-40479 Düsseldorf.  VR 11482 Düsseldorf
> Vorstand: W.Koch, M.Gollowitzer, A.Heinecke.    Mail: board at
> Finanzamt D-Altstadt, St-Nr: 103/5923/1779.   Tel: +49-2104-4938799
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Gnupg-devel mailing list