summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb4/ChangeLog6
-rw-r--r--src/lib/krb4/RealmsConfig-glue.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/krb4/ChangeLog b/src/lib/krb4/ChangeLog
index 5996d991a..f8da81e90 100644
--- a/src/lib/krb4/ChangeLog
+++ b/src/lib/krb4/ChangeLog
@@ -1,5 +1,11 @@
2003-07-11 Alexandra Ellwood <lxs@mit.edu>
+ * RealmsConfig-glue.c: Check for NULL realm argument and n
+ not equal to 1. Fill in realm with an empty string on error
+ in case the caller doesn't check the return value.
+
+2003-07-11 Alexandra Ellwood <lxs@mit.edu>
+
* RealmsConfig-glue.c: Don't fail when krb5.conf is valid
and krb.conf isn't. Also, don't assert v4 realm is in profile
unless that realm is a valid v4 realm.
diff --git a/src/lib/krb4/RealmsConfig-glue.c b/src/lib/krb4/RealmsConfig-glue.c
index fc9bdc8f3..0635284c0 100644
--- a/src/lib/krb4/RealmsConfig-glue.c
+++ b/src/lib/krb4/RealmsConfig-glue.c
@@ -199,6 +199,14 @@ krb_get_lrealm(
char krbConfLocalRealm[REALM_SZ];
int krbConfHasLocalRealm = 0;
+ if ((realm == NULL) || (n != 1)) { result = KFAILURE; }
+
+ if (result == KSUCCESS) {
+ /* Some callers don't check the return value so we initialize
+ * to an empty string in case it never gets filled in. */
+ realm [0] = '\0';
+ }
+
if (result == KSUCCESS) {
int profileErr = krb_get_profile (&profile);