mirror of https://github.com/xemu-project/xemu.git
tests: correctly validate result buffer in hash/hmac tests
Validate that the pre-allocated buffer pointer was not overwritten by the hash/hmac APIs. Reviewed-by: Dorjoy Chowdhury <dorjoychy111@gmail.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
dde538c9a7
commit
164f2be1b5
|
@ -123,7 +123,7 @@ static void test_hash_prealloc(void)
|
|||
size_t i;
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS(expected_outputs) ; i++) {
|
||||
uint8_t *result;
|
||||
uint8_t *result, *origresult;
|
||||
size_t resultlen;
|
||||
int ret;
|
||||
size_t j;
|
||||
|
@ -133,7 +133,7 @@ static void test_hash_prealloc(void)
|
|||
}
|
||||
|
||||
resultlen = expected_lens[i];
|
||||
result = g_new0(uint8_t, resultlen);
|
||||
origresult = result = g_new0(uint8_t, resultlen);
|
||||
|
||||
ret = qcrypto_hash_bytes(i,
|
||||
INPUT_TEXT,
|
||||
|
@ -142,7 +142,8 @@ static void test_hash_prealloc(void)
|
|||
&resultlen,
|
||||
&error_fatal);
|
||||
g_assert(ret == 0);
|
||||
|
||||
/* Validate that our pre-allocated pointer was not replaced */
|
||||
g_assert(result == origresult);
|
||||
g_assert(resultlen == expected_lens[i]);
|
||||
for (j = 0; j < resultlen; j++) {
|
||||
g_assert(expected_outputs[i][j * 2] == hex[(result[j] >> 4) & 0xf]);
|
||||
|
|
|
@ -126,7 +126,7 @@ static void test_hmac_prealloc(void)
|
|||
for (i = 0; i < G_N_ELEMENTS(test_data); i++) {
|
||||
QCryptoHmacTestData *data = &test_data[i];
|
||||
QCryptoHmac *hmac = NULL;
|
||||
uint8_t *result = NULL;
|
||||
uint8_t *result = NULL, *origresult = NULL;
|
||||
size_t resultlen = 0;
|
||||
const char *exp_output = NULL;
|
||||
int ret;
|
||||
|
@ -139,7 +139,7 @@ static void test_hmac_prealloc(void)
|
|||
exp_output = data->hex_digest;
|
||||
|
||||
resultlen = strlen(exp_output) / 2;
|
||||
result = g_new0(uint8_t, resultlen);
|
||||
origresult = result = g_new0(uint8_t, resultlen);
|
||||
|
||||
hmac = qcrypto_hmac_new(data->alg, (const uint8_t *)KEY,
|
||||
strlen(KEY), &error_fatal);
|
||||
|
@ -149,6 +149,8 @@ static void test_hmac_prealloc(void)
|
|||
strlen(INPUT_TEXT), &result,
|
||||
&resultlen, &error_fatal);
|
||||
g_assert(ret == 0);
|
||||
/* Validate that our pre-allocated pointer was not replaced */
|
||||
g_assert(result == origresult);
|
||||
|
||||
exp_output = data->hex_digest;
|
||||
for (j = 0; j < resultlen; j++) {
|
||||
|
|
Loading…
Reference in New Issue