aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2008-06-27 01:26:08 +0000
committerKen Raeburn <raeburn@mit.edu>2008-06-27 01:26:08 +0000
commit21815828bf2c10b8cdbd5bb9d45d27c4f501d762 (patch)
tree07bdf33eb00ebdd084cdcd1f75fa1604c17d2680
parent4b680153e7696af2a2c50d7fbdb24e52d11659ff (diff)
downloadkrb5-21815828bf2c10b8cdbd5bb9d45d27c4f501d762.zip
krb5-21815828bf2c10b8cdbd5bb9d45d27c4f501d762.tar.gz
krb5-21815828bf2c10b8cdbd5bb9d45d27c4f501d762.tar.bz2
fix free of automatic storage
Fix a possible free of automatic storage that can happen on an (unlikely) encoding failure. ticket: new target_version: 1.6.4 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20480 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/krb5/krb/rd_safe.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/rd_safe.c b/src/lib/krb5/krb/rd_safe.c
index 3eae172..021fd80 100644
--- a/src/lib/krb5/krb/rd_safe.c
+++ b/src/lib/krb5/krb/rd_safe.c
@@ -1,7 +1,7 @@
/*
* lib/krb5/krb/rd_safe.c
*
- * Copyright 1990,1991,2007 by the Massachusetts Institute of Technology.
+ * Copyright 1990,1991,2007,2008 by the Massachusetts Institute of Technology.
* All Rights Reserved.
*
* Export of this software from the United States of America may
@@ -116,11 +116,11 @@ krb5_rd_safe_basic(krb5_context context, const krb5_data *inbuf,
message->checksum = &our_cksum;
- if ((retval = encode_krb5_safe_with_body(message, &safe_body, &scratch)))
+ retval = encode_krb5_safe_with_body(message, &safe_body, &scratch);
+ message->checksum = his_cksum;
+ if (retval)
goto cleanup;
- message->checksum = his_cksum;
-
retval = krb5_c_verify_checksum(context, keyblock,
KRB5_KEYUSAGE_KRB_SAFE_CKSUM,
scratch, his_cksum, &valid);