python: Fix passphrase callback wrapping.
* lang/python/helpers.c (pyPassphraseCb): Cope with 'passphrase_info' being NULL. Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
048c5f74b6
commit
3bdce4aa3d
@ -377,7 +377,21 @@ static gpgme_error_t pyPassphraseCb(void *hook,
|
||||
goto leave;
|
||||
}
|
||||
|
||||
PyTuple_SetItem(args, 1, PyBytes_FromString(passphrase_info));
|
||||
if (passphrase_info == NULL)
|
||||
{
|
||||
Py_INCREF(Py_None);
|
||||
PyTuple_SetItem(args, 1, Py_None);
|
||||
}
|
||||
else
|
||||
PyTuple_SetItem(args, 1, PyUnicode_DecodeUTF8(passphrase_info,
|
||||
strlen (passphrase_info),
|
||||
"strict"));
|
||||
if (PyErr_Occurred()) {
|
||||
Py_DECREF(args);
|
||||
err_status = gpg_error(GPG_ERR_GENERAL);
|
||||
goto leave;
|
||||
}
|
||||
|
||||
PyTuple_SetItem(args, 2, PyBool_FromLong((long)prev_was_bad));
|
||||
if (dataarg) {
|
||||
Py_INCREF(dataarg); /* Because GetItem doesn't give a ref but SetItem taketh away */
|
||||
|
Loading…
Reference in New Issue
Block a user