Subject: | int/long pointer type error in g_tkt_svc.c |
krb_get_ticket_for_service takes a pointer to unsigned KRB4_32 (which will be int usually, or
long if int is too small) for "buflen". It passes the pointer to CopyTicket to do the copying and
report the size; however CopyTicket thinks it's a pointer to unsigned long. This'll break on any
LP64 platform.
Fortunately, we don't appear to have any code that calls krb_get_ticket_for_service, so it doesn't
break any of our programs, but it is part of the exposed API. CopyTicket is internal, so we can
just fix it there (if we don't just nuke krb4 altogether first).
long if int is too small) for "buflen". It passes the pointer to CopyTicket to do the copying and
report the size; however CopyTicket thinks it's a pointer to unsigned long. This'll break on any
LP64 platform.
Fortunately, we don't appear to have any code that calls krb_get_ticket_for_service, so it doesn't
break any of our programs, but it is part of the exposed API. CopyTicket is internal, so we can
just fix it there (if we don't just nuke krb4 altogether first).