summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kadmin/v4server/ChangeLog5
-rw-r--r--src/kadmin/v4server/acl_files.c9
2 files changed, 13 insertions, 1 deletions
diff --git a/src/kadmin/v4server/ChangeLog b/src/kadmin/v4server/ChangeLog
index a21170680e..8865dde4a7 100644
--- a/src/kadmin/v4server/ChangeLog
+++ b/src/kadmin/v4server/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-13 Tom Yu <tlyu@mit.edu>
+
+ * acl_files.c (canon;): Properly handle appending of the local
+ realm, which was botched due to a buffer-overflow patch.
+
2001-11-19 Ezra Peisach <epeisach@mit.edu>
* kadm_server.h: Update prototype for convert_kadm5_to_kadm.
diff --git a/src/kadmin/v4server/acl_files.c b/src/kadmin/v4server/acl_files.c
index 8a6118c834..bbc9bb71bb 100644
--- a/src/kadmin/v4server/acl_files.c
+++ b/src/kadmin/v4server/acl_files.c
@@ -142,12 +142,19 @@ char *canon;
return;
}
} else if(krb_get_lrealm(realm, 1) != KSUCCESS) {
- if(canon + strlen(realm) < canon_save + MAX_PRINCIPAL_SIZE) {
+ if(canon + strlen(KRB_REALM) < canon_save + MAX_PRINCIPAL_SIZE) {
strcpy(canon, KRB_REALM);
} else {
strcpy(canon, "");
return;
}
+ } else {
+ if (canon + strlen(realm) < canon_save + MAX_PRINCIPAL_SIZE) {
+ strcpy(canon, realm);
+ } else {
+ strcpy(canon, "");
+ return;
+ }
}
}