From 7ae342446964c4ceba1cfe292fbe1fb75d766aa2 Mon Sep 17 00:00:00 2001 From: Theodore Tso Date: Fri, 24 Dec 1993 22:47:18 +0000 Subject: Make sure memory is freed on errors git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3279 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/kdb/fetch_mkey.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/lib/kdb/fetch_mkey.c') diff --git a/src/lib/kdb/fetch_mkey.c b/src/lib/kdb/fetch_mkey.c index 98dcac7a41..8c5ed8ccb4 100644 --- a/src/lib/kdb/fetch_mkey.c +++ b/src/lib/kdb/fetch_mkey.c @@ -147,9 +147,12 @@ OLDDECLARG(krb5_keyblock *,key) goto errout; } if (fread((krb5_pointer) key->contents, - sizeof(key->contents[0]), key->length, kf) != key->length) + sizeof(key->contents[0]), key->length, kf) != key->length) { retval = KRB5_KDB_CANTREAD_STORED; - else + memset(key->contents, 0, key->length); + free(key->contents); + key->contents = 0; + } else retval = 0; errout: (void) fclose(kf); -- cgit