aboutsummaryrefslogtreecommitdiffstats
path: root/security/mhash/files/patch-lib-keygen_mcrypt.c
blob: 3657b8ae5274c29663333eeb52f6d4b3423ef417 (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
28
29
30
31
32
Description: Fix two minor memory leaks.
Author: Peter Pentchev <roam@FreeBSD.org>
Forwarded: http://sourceforge.net/mailarchive/message.php?msg_name=20090910102100.GA26539%40straylight.m.ringlet.net
Last-Update: 2009-09-10


--- lib/keygen_mcrypt.c.orig
+++ lib/keygen_mcrypt.c
@@ -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) {