Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/berrange/tags/pull-qcrypto-2017…
Browse files Browse the repository at this point in the history
…-11-08-1' into staging

Merge qcrypto 2017/11/08 v1

# gpg: Signature made Wed 08 Nov 2017 11:06:38 GMT
# gpg:                using RSA key 0xBE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>"
# gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>"
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF

* remotes/berrange/tags/pull-qcrypto-2017-11-08-1:
  crypto: afalg: fix a NULL pointer dereference
  tests: Run the luks tests in test-crypto-block only if encryption is available

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
pm215 committed Nov 10, 2017
2 parents 6058bfb + f171063 commit 4ffa88c
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 16 deletions.
5 changes: 1 addition & 4 deletions crypto/cipher.c
Expand Up @@ -164,11 +164,10 @@ QCryptoCipher *qcrypto_cipher_new(QCryptoCipherAlgorithm alg,
{
QCryptoCipher *cipher;
void *ctx = NULL;
Error *err2 = NULL;
QCryptoCipherDriver *drv = NULL;

#ifdef CONFIG_AF_ALG
ctx = qcrypto_afalg_cipher_ctx_new(alg, mode, key, nkey, &err2);
ctx = qcrypto_afalg_cipher_ctx_new(alg, mode, key, nkey, NULL);
if (ctx) {
drv = &qcrypto_cipher_afalg_driver;
}
Expand All @@ -177,12 +176,10 @@ QCryptoCipher *qcrypto_cipher_new(QCryptoCipherAlgorithm alg,
if (!ctx) {
ctx = qcrypto_cipher_ctx_new(alg, mode, key, nkey, errp);
if (!ctx) {
error_free(err2);
return NULL;
}

drv = &qcrypto_cipher_lib_driver;
error_free(err2);
}

cipher = g_new0(QCryptoCipher, 1);
Expand Down
13 changes: 5 additions & 8 deletions crypto/hash.c
Expand Up @@ -48,19 +48,16 @@ int qcrypto_hash_bytesv(QCryptoHashAlgorithm alg,
{
#ifdef CONFIG_AF_ALG
int ret;

/*
* TODO:
* Maybe we should treat some afalg errors as fatal
*/
ret = qcrypto_hash_afalg_driver.hash_bytesv(alg, iov, niov,
result, resultlen,
errp);
NULL);
if (ret == 0) {
return ret;
}

/*
* TODO:
* Maybe we should treat some afalg errors as fatal
*/
error_free(*errp);
#endif

return qcrypto_hash_lib_driver.hash_bytesv(alg, iov, niov,
Expand Down
4 changes: 1 addition & 3 deletions crypto/hmac.c
Expand Up @@ -90,11 +90,10 @@ QCryptoHmac *qcrypto_hmac_new(QCryptoHashAlgorithm alg,
{
QCryptoHmac *hmac;
void *ctx = NULL;
Error *err2 = NULL;
QCryptoHmacDriver *drv = NULL;

#ifdef CONFIG_AF_ALG
ctx = qcrypto_afalg_hmac_ctx_new(alg, key, nkey, &err2);
ctx = qcrypto_afalg_hmac_ctx_new(alg, key, nkey, NULL);
if (ctx) {
drv = &qcrypto_hmac_afalg_driver;
}
Expand All @@ -107,7 +106,6 @@ QCryptoHmac *qcrypto_hmac_new(QCryptoHashAlgorithm alg,
}

drv = &qcrypto_hmac_lib_driver;
error_free(err2);
}

hmac = g_new0(QCryptoHmac, 1);
Expand Down
3 changes: 2 additions & 1 deletion tests/test-crypto-block.c
Expand Up @@ -28,7 +28,8 @@
#include <sys/resource.h>
#endif

#if (defined(_WIN32) || defined RUSAGE_THREAD)
#if (defined(_WIN32) || defined RUSAGE_THREAD) && \
(defined(CONFIG_NETTLE_KDF) || defined(CONFIG_GCRYPT_KDF))
#define TEST_LUKS
#else
#undef TEST_LUKS
Expand Down

0 comments on commit 4ffa88c

Please sign in to comment.