From 327ec7e75c2a915cff412a46750db5957d28f1e3 Mon Sep 17 00:00:00 2001 From: Luke Howard Date: Sat, 29 Jan 2022 07:50:05 +1100 Subject: [PATCH] krb5: use void * instead of heim_object for PAC decoration --- lib/asn1/krb5.opt | 2 +- lib/krb5/principal.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/asn1/krb5.opt b/lib/asn1/krb5.opt index 998d5734c..a8bd85c52 100644 --- a/lib/asn1/krb5.opt +++ b/lib/asn1/krb5.opt @@ -5,5 +5,5 @@ --sequence=ETYPE-INFO --sequence=ETYPE-INFO2 --preserve-binary=KDC-REQ-BODY ---decorate=PrincipalNameAttrs:heim_object_t:pac +--decorate=PrincipalNameAttrs:void *:pac --decorate=Principal:PrincipalNameAttrs:nameattrs? diff --git a/lib/krb5/principal.c b/lib/krb5/principal.c index f604bbba1..525feae9c 100644 --- a/lib/krb5/principal.c +++ b/lib/krb5/principal.c @@ -103,6 +103,8 @@ krb5_free_principal(krb5_context context, krb5_principal p) { if(p){ + if (p->nameattrs && p->nameattrs->pac) + heim_release(p->nameattrs->pac); free_Principal(p); free(p); } @@ -948,6 +950,9 @@ krb5_copy_principal(krb5_context context, free(p); return krb5_enomem(context); } + if (inprinc->nameattrs && inprinc->nameattrs->pac) + p->nameattrs->pac = heim_retain(inprinc->nameattrs->pac); + *outprinc = p; return 0; }