aboutsummaryrefslogtreecommitdiff
path: root/security/krb5-17/files/patch-kdc::kdc_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/krb5-17/files/patch-kdc::kdc_util.c')
-rw-r--r--security/krb5-17/files/patch-kdc::kdc_util.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/security/krb5-17/files/patch-kdc::kdc_util.c b/security/krb5-17/files/patch-kdc::kdc_util.c
new file mode 100644
index 000000000000..078a4b73c4fe
--- /dev/null
+++ b/security/krb5-17/files/patch-kdc::kdc_util.c
@@ -0,0 +1,27 @@
+Index: kdc/kdc_util.c
+===================================================================
+RCS file: /cvs/krbdev/krb5/src/kdc/kdc_util.c,v
+retrieving revision 5.96.2.2.2.3
+diff -p -u -r5.96.2.2.2.3 kdc_util.c
+--- kdc/kdc_util.c 2002/10/31 00:38:34 5.96.2.2.2.3
++++ kdc/kdc_util.c 2003/03/19 00:39:00
+@@ -157,7 +157,8 @@ realm_compare(princ1, princ2)
+ krb5_boolean krb5_is_tgs_principal(principal)
+ krb5_principal principal;
+ {
+- if ((krb5_princ_component(kdc_context, principal, 0)->length ==
++ if (krb5_princ_size(kdc_context, principal) > 0 &&
++ (krb5_princ_component(kdc_context, principal, 0)->length ==
+ KRB5_TGS_NAME_SIZE) &&
+ (!memcmp(krb5_princ_component(kdc_context, principal, 0)->data,
+ KRB5_TGS_NAME, KRB5_TGS_NAME_SIZE)))
+@@ -1195,7 +1196,8 @@
+ return KRB_AP_ERR_NOT_US;
+ }
+ /* ...and that the second component matches the server realm... */
+- if ((krb5_princ_component(kdc_context, ticket->server, 1)->length !=
++ if ((krb5_princ_size(kdc_context, ticket->server) <= 1) ||
++ (krb5_princ_component(kdc_context, ticket->server, 1)->length !=
+ krb5_princ_realm(kdc_context, request->server)->length) ||
+ memcmp(krb5_princ_component(kdc_context, ticket->server, 1)->data,
+ krb5_princ_realm(kdc_context, request->server)->data,