diff options
Diffstat (limited to 'security/mhash/files/patch-src-keygen_test.c')
-rw-r--r-- | security/mhash/files/patch-src-keygen_test.c | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/security/mhash/files/patch-src-keygen_test.c b/security/mhash/files/patch-src-keygen_test.c new file mode 100644 index 000000000000..1797737003e8 --- /dev/null +++ b/security/mhash/files/patch-src-keygen_test.c @@ -0,0 +1,108 @@ +diff -urN -x .svn ../../branches/vendor/mhash/src/keygen_test.c ./src/keygen_test.c +--- ../../branches/vendor/mhash/src/keygen_test.c 2008-01-16 14:34:18.000000000 +0200 ++++ ./src/keygen_test.c 2008-01-16 15:36:24.000000000 +0200 +@@ -43,6 +43,12 @@ + + passlen=sizeof(PASSWORD1); + password = mutils_malloc(passlen+1); ++ if (password == NULL) ++ { ++ fprintf(stderr, "KEYGEN-Test (KEYGEN_MCRYPT): Failed\n"); ++ fprintf(stderr, "Cannot allocate memory.\n"); ++ return(MUTILS_SYSTEM_RESOURCE_ERROR); ++ } + mutils_strncpy(password, (mutils_word8 *) PASSWORD1, passlen); + + if (mhash_get_keygen_max_key_size(KEYGEN_MCRYPT)==0) { +@@ -64,6 +70,8 @@ + { + fprintf(stderr, "KEYGEN-Test (KEYGEN_MCRYPT): Failed\n"); + fprintf(stderr, "Cannot allocate memory.\n"); ++ mutils_free(password); ++ mutils_free(salt); + return(MUTILS_SYSTEM_RESOURCE_ERROR); + } + +@@ -74,12 +82,16 @@ + + mhash_keygen_ext(KEYGEN_MCRYPT, data, key, keysize, password, passlen); + ++ mutils_free(salt); ++ + tmp = mutils_asciify(key, keysize); + + if (tmp == NULL) + { + fprintf(stderr, "KEYGEN-Test (KEYGEN_MCRYPT): Failed\n"); + fprintf(stderr, "Cannot allocate memory (2).\n"); ++ mutils_free(password); ++ mutils_free(key); + return(MUTILS_SYSTEM_RESOURCE_ERROR); + } + +@@ -91,6 +103,7 @@ + if (result != 0) { + fprintf(stderr, "KEYGEN-Test (KEYGEN_MCRYPT): Failed\n"); + fprintf(stderr, "Expecting: 0x%s\nGot: 0x%s\n", KEY1, tmp); ++ mutils_free(tmp); + return(MUTILS_INVALID_RESULT); + } + +@@ -98,6 +111,12 @@ + + passlen = sizeof(PASSWORD2); + password = (mutils_word8 *) mutils_malloc(passlen + 1); ++ if (password == NULL) ++ { ++ fprintf(stderr, "KEYGEN-Test (KEYGEN_MCRYPT): Failed\n"); ++ fprintf(stderr, "Cannot allocate memory.\n"); ++ return(MUTILS_SYSTEM_RESOURCE_ERROR); ++ } + mutils_strncpy(password, (mutils_word8 *) PASSWORD2, passlen); + + if (mhash_get_keygen_max_key_size(KEYGEN_S2K_SALTED)==0) { +@@ -114,6 +133,15 @@ + salt = (mutils_word8 *) mutils_malloc(salt_size); + key = (mutils_word8 *) mutils_malloc(keysize); + ++ if ((salt == NULL) || (key == NULL)) ++ { ++ fprintf(stderr, "KEYGEN-Test (KEYGEN_MCRYPT): Failed\n"); ++ fprintf(stderr, "Cannot allocate memory.\n"); ++ mutils_free(password); ++ mutils_free(salt); ++ return(MUTILS_SYSTEM_RESOURCE_ERROR); ++ } ++ + data.hash_algorithm[0] = MHASH_SHA1; + data.count = 0; + data.salt = salt; +@@ -121,10 +149,19 @@ + + mhash_keygen_ext(KEYGEN_S2K_SALTED, data, key, keysize, password, passlen); + +- mutils_memset(tmp, 0, keysize * 2); ++ mutils_free(salt); + + tmp = mutils_asciify(key, keysize); + ++ if (tmp == NULL) ++ { ++ fprintf(stderr, "KEYGEN-Test (KEYGEN_MCRYPT): Failed\n"); ++ fprintf(stderr, "Cannot allocate memory.\n"); ++ mutils_free(password); ++ mutils_free(key); ++ return(MUTILS_SYSTEM_RESOURCE_ERROR); ++ } ++ + result = mutils_strcmp((mutils_word8 *) KEY2, tmp); + + mutils_free(password); +@@ -133,6 +170,7 @@ + if (mutils_strcmp((mutils_word8 *) KEY2, tmp) != 0) { + fprintf(stderr, "KEYGEN-Test (KEYGEN_S2K_SALTED): Failed\n"); + fprintf(stderr, "Expecting: 0x%s\nGot: 0x%s\n", KEY2, tmp); ++ mutils_free(tmp); + return(MUTILS_INVALID_RESULT); + } + |