summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kdc/kdc_util.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/kdc/kdc_util.c b/src/kdc/kdc_util.c
index 9d210e725..07a2d81e6 100644
--- a/src/kdc/kdc_util.c
+++ b/src/kdc/kdc_util.c
@@ -80,9 +80,11 @@ realm_compare(realmname, princ)
krb5_data *realmname;
krb5_principal princ;
{
- return(strncmp(realmname->data, krb5_princ_realm(princ)->data,
- min(realmname->length,
- krb5_princ_realm(princ)->length)) ? FALSE : TRUE);
+ if (realmname->length != krb5_princ_realm(princ)->length)
+ return FALSE;
+ return(memcmp((char *)realmname->data,
+ (char *)krb5_princ_realm(princ)->data,
+ realmname->length) ? FALSE : TRUE);
}
struct kparg {
@@ -442,10 +444,10 @@ krb5_principal server;
if(*otrans == ',') otrans++;
- if(strcmp(krb5_princ_realm(client)->data,realm) == 0)
+ if (realm_compare(realm, client))
added = 1;
- if(strcmp(krb5_princ_realm(server)->data,realm) == 0)
+ if(realm_compare(realm, server))
added = 1;
while(*current) {