From: Paul Gofman pgofman@codeweavers.com
--- dlls/bcrypt/bcrypt_main.c | 8 ++++---- dlls/bcrypt/tests/bcrypt.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c index c5fc6391f38..ca5b934a8d5 100644 --- a/dlls/bcrypt/bcrypt_main.c +++ b/dlls/bcrypt/bcrypt_main.c @@ -1149,12 +1149,12 @@ static BOOL is_equal_vector( const UCHAR *vector, ULONG len, const UCHAR *vector static NTSTATUS key_symmetric_set_vector( struct key *key, UCHAR *vector, ULONG vector_len, BOOL force_reset ) { BOOL needs_reset = force_reset || !is_equal_vector( key->u.s.vector, key->u.s.vector_len, vector, vector_len ); - - free( key->u.s.vector ); - key->u.s.vector = NULL; - key->u.s.vector_len = 0; if (vector) { + free( key->u.s.vector ); + key->u.s.vector = NULL; + key->u.s.vector_len = 0; + if (!(key->u.s.vector = malloc( vector_len ))) return STATUS_NO_MEMORY; memcpy( key->u.s.vector, vector, vector_len ); key->u.s.vector_len = vector_len; diff --git a/dlls/bcrypt/tests/bcrypt.c b/dlls/bcrypt/tests/bcrypt.c index 9f8d0145735..19518480ee0 100644 --- a/dlls/bcrypt/tests/bcrypt.c +++ b/dlls/bcrypt/tests/bcrypt.c @@ -843,7 +843,7 @@ static void test_BCryptGenerateSymmetricKey(void) ret = BCryptEncrypt(key, data, 16, NULL, NULL, 0, ciphertext, 16, &size, 0); ok(ret == STATUS_SUCCESS, "got %#lx\n", ret); ok(size == 16, "got %lu\n", size); - todo_wine ok(!memcmp(ciphertext, expected2, sizeof(expected2)), "wrong data\n"); + ok(!memcmp(ciphertext, expected2, sizeof(expected2)), "wrong data\n");
size = 0; memcpy(ivbuf, iv, sizeof(iv)); @@ -1129,7 +1129,7 @@ static void test_BCryptEncrypt(void) ret = BCryptEncrypt(key, data, 16, NULL, NULL, 0, ciphertext, 16, &size, 0); ok(ret == STATUS_SUCCESS, "got %#lx\n", ret); ok(size == 16, "got %lu\n", size); - todo_wine ok(!memcmp(ciphertext, expected8, sizeof(expected8)), "wrong data\n"); + ok(!memcmp(ciphertext, expected8, sizeof(expected8)), "wrong data\n");
/* all zero initialization vector */ size = 0; @@ -1556,7 +1556,7 @@ static void test_BCryptEncrypt(void) ret = BCryptEncrypt(key, data, 16, NULL, NULL, 0, ciphertext, 16, &size, 0); ok(ret == STATUS_SUCCESS, "got %#lx\n", ret); ok(size == 16, "got %lu\n", size); - todo_wine ok(!memcmp(ciphertext, expected12, sizeof(expected12)), "wrong data\n"); + ok(!memcmp(ciphertext, expected12, sizeof(expected12)), "wrong data\n");
/* all zero initialization vector */ size = 0; @@ -1784,7 +1784,7 @@ static void test_BCryptDecrypt(void) ret = BCryptDecrypt(key, ciphertext, 32, NULL, NULL, 0, plaintext, 32, &size, 0); ok(ret == STATUS_SUCCESS, "got %#lx\n", ret); ok(size == 32, "got %lu\n", size); - todo_wine ok(!memcmp(plaintext, expected4, sizeof(expected4)), "wrong data\n"); + ok(!memcmp(plaintext, expected4, sizeof(expected4)), "wrong data\n");
/* test with padding smaller than block size */ size = 0;