summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1997-08-07 20:32:14 +0000
committerTom Yu <tlyu@mit.edu>1997-08-07 20:32:14 +0000
commitc9d19a4470af87f3c8ed6324c70d7bddd7d79596 (patch)
tree41506c331d3eb08f16f3de1de8264ba62461d4ee /src
parentc8a929a7e93ba2825d018af8b6808f832d2d3382 (diff)
downloadkrb5-c9d19a4470af87f3c8ed6324c70d7bddd7d79596.tar.gz
krb5-c9d19a4470af87f3c8ed6324c70d7bddd7d79596.tar.xz
krb5-c9d19a4470af87f3c8ed6324c70d7bddd7d79596.zip
* g_cnffile.c: Check to see if context is NULL prior to calling
profile_get_values. Fixes krb5-libs/317. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10164 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb4/ChangeLog5
-rw-r--r--src/lib/krb4/g_cnffile.c27
2 files changed, 20 insertions, 12 deletions
diff --git a/src/lib/krb4/ChangeLog b/src/lib/krb4/ChangeLog
index a8911e511d..fd94d6deaa 100644
--- a/src/lib/krb4/ChangeLog
+++ b/src/lib/krb4/ChangeLog
@@ -1,3 +1,8 @@
+Thu Aug 7 15:53:13 1997 Tom Yu <tlyu@mit.edu>
+
+ * g_cnffile.c: Check to see if context is NULL prior to calling
+ profile_get_values. Fixes krb5-libs/317.
+
Wed Apr 9 23:15:39 1997 Tom Yu <tlyu@mit.edu>
* realmofhost.c (krb_realmofhost): Add bounds checking to various
diff --git a/src/lib/krb4/g_cnffile.c b/src/lib/krb4/g_cnffile.c
index 07175b1460..12edf28740 100644
--- a/src/lib/krb4/g_cnffile.c
+++ b/src/lib/krb4/g_cnffile.c
@@ -33,14 +33,16 @@ krb__v5_get_file(s)
names[0] = "libdefaults";
names[1] = s;
names[2] = 0;
- retval = profile_get_values(context->profile, names, &full_name);
- if (retval == 0 && full_name && full_name[0]) {
+ if (context) {
+ retval = profile_get_values(context->profile, names, &full_name);
+ if (retval == 0 && full_name && full_name[0]) {
cnffile = fopen(full_name[0],"r");
for (cpp = full_name; *cpp; cpp++)
- krb5_xfree(*cpp);
+ krb5_xfree(*cpp);
krb5_xfree(full_name);
+ }
+ krb5_free_context(context);
}
- krb5_free_context(context);
return cnffile;
}
@@ -58,14 +60,15 @@ krb__get_srvtabname(default_srvtabname)
names[0] = "libdefaults";
names[1] = "krb4_srvtab";
names[2] = 0;
- retval = profile_get_values(context->profile, names, &full_name);
- if (retval == 0 && full_name && full_name[0]) {
- retname = strdup(full_name[0]);
- for (cpp = full_name; *cpp; cpp++)
- krb5_xfree(*cpp);
- krb5_xfree(full_name);
- } else {
- retname = strdup(default_srvtabname);
+ if (context &&
+ (retval = profile_get_values(context->profile, names, &full_name))
+ && retval == 0 && full_name && full_name[0]) {
+ retname = strdup(full_name[0]);
+ for (cpp = full_name; *cpp; cpp++)
+ krb5_xfree(*cpp);
+ krb5_xfree(full_name);
+ }else {
+ retname = strdup(default_srvtabname);
}
krb5_free_context(context);
return retname;