diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb4/ChangeLog | 6 | ||||
| -rw-r--r-- | src/lib/krb4/RealmsConfig-glue.c | 8 |
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); |
