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;
|
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));
|
PyTuple_SetItem(args, 2, PyBool_FromLong((long)prev_was_bad));
|
||||||
if (dataarg) {
|
if (dataarg) {
|
||||||
Py_INCREF(dataarg); /* Because GetItem doesn't give a ref but SetItem taketh away */
|
Py_INCREF(dataarg); /* Because GetItem doesn't give a ref but SetItem taketh away */
|
||||||
|
Loading…
Reference in New Issue
Block a user