summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2009-02-13 22:00:47 +0000
committerGreg Hudson <ghudson@mit.edu>2009-02-13 22:00:47 +0000
commitbda7d8c59b58d59abf70bbb12a67978a11d1e6c5 (patch)
tree3bf915a410e985178bae09350556d8b2a5e49041 /src/lib/krb5
parente0c545139c54d6612687b0458b56ce34419a3a36 (diff)
downloadkrb5-bda7d8c59b58d59abf70bbb12a67978a11d1e6c5.tar.gz
krb5-bda7d8c59b58d59abf70bbb12a67978a11d1e6c5.tar.xz
krb5-bda7d8c59b58d59abf70bbb12a67978a11d1e6c5.zip
In tgs_construct_tgsreq, free scratch even if scratch->data is NULL.
(Which probably can't happen, but static analyzers don't know that.) Also protect scratch from being freed before initialization. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22002 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5')
-rw-r--r--src/lib/krb5/krb/send_tgs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/krb5/krb/send_tgs.c b/src/lib/krb5/krb/send_tgs.c
index 9a10b92718..7b53e086d3 100644
--- a/src/lib/krb5/krb/send_tgs.c
+++ b/src/lib/krb5/krb/send_tgs.c
@@ -55,7 +55,7 @@ tgs_construct_tgsreq(krb5_context context, krb5_data *in_data,
krb5_checksum checksum;
krb5_authenticator authent;
krb5_ap_req request;
- krb5_data * scratch;
+ krb5_data * scratch = NULL;
krb5_data * toutbuf;
checksum.contents = NULL;
/* Generate subkey*/
@@ -123,8 +123,8 @@ if (request.ticket)
if (scratch != NULL && scratch->data != NULL) {
zap(scratch->data, scratch->length);
free(scratch->data);
- free(scratch);
}
+ free(scratch);
if (*subkey && retval != 0) {
krb5_free_keyblock(context, *subkey);