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) {
|