diff options
author | Ezra Peisach <epeisach@mit.edu> | 1995-09-08 23:55:28 +0000 |
---|---|---|
committer | Ezra Peisach <epeisach@mit.edu> | 1995-09-08 23:55:28 +0000 |
commit | 9c3f755c94a586496b647bbe72276feeb93722f6 (patch) | |
tree | 0a4270f0673e0f192f4ebad9e5d792e19c80b616 /src/lib/kdb/decrypt_key.c | |
parent | eb925181c244ab37b79ea7ed40771881ea5c44d8 (diff) | |
download | krb5-9c3f755c94a586496b647bbe72276feeb93722f6.tar.gz krb5-9c3f755c94a586496b647bbe72276feeb93722f6.tar.xz krb5-9c3f755c94a586496b647bbe72276feeb93722f6.zip |
decrypt_key.c: Upon error, after freeing contents field, set to
null to indicate to upper levels that it is really empty.
Another bug discovered by purify...
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6743 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb/decrypt_key.c')
-rw-r--r-- | src/lib/kdb/decrypt_key.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/kdb/decrypt_key.c b/src/lib/kdb/decrypt_key.c index a1762fbec..f6847eb83 100644 --- a/src/lib/kdb/decrypt_key.c +++ b/src/lib/kdb/decrypt_key.c @@ -62,6 +62,8 @@ krb5_dbekd_decrypt_key_data(context, eblock, key_data, keyblock, keysalt) key_data->key_data_length[0] - 2, eblock, 0))) { krb5_xfree(keyblock->contents); + keyblock->contents = 0; + keyblock->length = 0; return retval; } @@ -72,6 +74,8 @@ krb5_dbekd_decrypt_key_data(context, eblock, key_data, keyblock, keysalt) if (keysalt->data.length = key_data->key_data_length[1]) { if (!(keysalt->data.data=(char *)malloc(keysalt->data.length))){ krb5_xfree(keyblock->contents); + keyblock->contents = 0; + keyblock->length = 0; return ENOMEM; } memcpy(keysalt->data.data, key_data->key_data_contents[1], |