diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/kadmin/v4server/ChangeLog | 5 | ||||
-rw-r--r-- | src/kadmin/v4server/acl_files.c | 9 |
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; + } } } |