summaryrefslogtreecommitdiff
path: root/security/mhash/files/patch-lib-keygen_mcrypt.c
blob: b5d5364d5000e155c177bfeec7c4c9fdd002ae79 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
diff -urN -x .svn ../../branches/vendor/mhash/lib/keygen_mcrypt.c ./lib/keygen_mcrypt.c
--- ../../branches/vendor/mhash/lib/keygen_mcrypt.c	2008-01-16 14:34:18.000000000 +0200
+++ ./lib/keygen_mcrypt.c	2008-01-16 15:26:44.000000000 +0200
@@ -52,8 +52,10 @@
 	
 	while (1) {
 		td = mhash_init(algorithm);
-		if (td == MHASH_FAILED)
+		if (td == MHASH_FAILED) {
+			mutils_free(key);
 			return(-MUTILS_INVALID_FUNCTION);
+		}
 		
 		if (salt_z == MUTILS_TRUE)
 			mhash(td, salt, salt_size);
@@ -66,8 +68,10 @@
 		digest = mhash_end(td);
 
 #if defined(MHASH_ROBUST)
-		if (digest == NULL)
+		if (digest == NULL) {
+			mutils_free(key);
 			return(-MUTILS_INVALID_RESULT);
+		}
 #endif
 
 		if (size > block_size) {