summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/krb
diff options
context:
space:
mode:
authorDanilo Almeida <dalmeida@mit.edu>1999-08-04 03:18:29 +0000
committerDanilo Almeida <dalmeida@mit.edu>1999-08-04 03:18:29 +0000
commit21964d83bbacfb52bc7e1cf40e3def2c048a9468 (patch)
tree390452cbda250410e0b4ceb41da4fcc7f09041b5 /src/lib/krb5/krb
parent6404ed459468bcd3aeb35e21e73da960463461f0 (diff)
downloadkrb5-21964d83bbacfb52bc7e1cf40e3def2c048a9468.tar.gz
krb5-21964d83bbacfb52bc7e1cf40e3def2c048a9468.tar.xz
krb5-21964d83bbacfb52bc7e1cf40e3def2c048a9468.zip
Intialize out_creds pointer to 0 and then check whether it is 0 before
trying to dereference it, in case lower-level routine failed to assign a value to it. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11619 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb')
-rw-r--r--src/lib/krb5/krb/ChangeLog7
-rw-r--r--src/lib/krb5/krb/get_creds.c9
2 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/ChangeLog b/src/lib/krb5/krb/ChangeLog
index 2d795202d..10c4a2a44 100644
--- a/src/lib/krb5/krb/ChangeLog
+++ b/src/lib/krb5/krb/ChangeLog
@@ -1,3 +1,10 @@
+1999-08-03 Danilo Almeida <dalmeida@mit.edu>
+
+ * get_creds.c (krb5_validate_or_renew_creds): Intialize out_creds
+ pointer to 0 and then check whether it is 0 before trying to
+ dereference it, in case lower-level routine failed to assign
+ a value to it.
+
1999-07-22 Jeffrey Altman <jaltman@columbia.edu>
get_in_tkt.c: rename conf_boolean to krb5_conf_boolean so that
diff --git a/src/lib/krb5/krb/get_creds.c b/src/lib/krb5/krb/get_creds.c
index 37f2bb5a9..4fbf4cf33 100644
--- a/src/lib/krb5/krb/get_creds.c
+++ b/src/lib/krb5/krb/get_creds.c
@@ -226,7 +226,7 @@ krb5_validate_or_renew_creds(context, creds, client, ccache, in_tkt_service,
{
krb5_error_code ret;
krb5_creds in_creds; /* only client and server need to be filled in */
- krb5_creds *out_creds;
+ krb5_creds *out_creds = 0; /* for check before dereferencing below */
krb5_creds **tgts;
memset((char *)&in_creds, 0, sizeof(krb5_creds));
@@ -277,9 +277,10 @@ krb5_validate_or_renew_creds(context, creds, client, ccache, in_tkt_service,
&in_creds, &out_creds, &tgts);
/* ick. copy the struct contents, free the container */
-
- *creds = *out_creds;
- krb5_xfree(out_creds);
+ if (out_creds) {
+ *creds = *out_creds;
+ krb5_xfree(out_creds);
+ }
cleanup: