MITKerberosShim KLRenewInitialTickets behaves differently

Originator:shadow
Number:rdar://9824327 Date Originated:
Status: Resolved:
Product:MacOS Product Version:10.7.0
Classification: Reproducible:
 
Summary:
KLRenewInitialTickets when called with nil inPrincipal and no ticket cache crashes; 
did not crash through 10.6

Steps to Reproduce:

don't initialize a ticket cache. call 
KLRenewInitialTickets ( nil, inLoginOptions, nil, nil);
with whatever inLoginOptions you wish

Expected Results:
an error, since there are no tickets to renew

Actual Results:
process dies with e.g.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.Heimdal                   0x00007fff971f9a12 0x7fff971d6000 + 145938
1   com.apple.Heimdal                   0x00007fff971d9deb krb5_cc_cache_match + 226
2   com.apple.Kerberos                  0x00007fff94a5d129 KLRenewInitialTickets + 189

Regression:

Notes:
given that krb5_cc_cache_match from Heimdal-172.18 blithely assumes krb5_principal client is valid, the call to             
match = krb5_principal_compare(context, principal, client) 
is presumably what's crashing. an error would be better.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!