crypto: fix builtin qcrypto_cipher_free

This was dereferencing a pointer before checking if it was NULL.

Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reported-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2015-07-09 16:52:48 +02:00
parent d09a6fde15
commit 4f4f6976d8

View File

@ -354,11 +354,13 @@ QCryptoCipher *qcrypto_cipher_new(QCryptoCipherAlgorithm alg,
void qcrypto_cipher_free(QCryptoCipher *cipher) void qcrypto_cipher_free(QCryptoCipher *cipher)
{ {
QCryptoCipherBuiltin *ctxt = cipher->opaque; QCryptoCipherBuiltin *ctxt;
if (!cipher) { if (!cipher) {
return; return;
} }
ctxt = cipher->opaque;
ctxt->free(cipher); ctxt->free(cipher);
g_free(cipher); g_free(cipher);
} }