summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorJohn Kohl <jtkohl@mit.edu>1991-03-14 17:19:07 +0000
committerJohn Kohl <jtkohl@mit.edu>1991-03-14 17:19:07 +0000
commit2b8d67ceb932507d5a46cafb515304364c858f57 (patch)
tree51420e94d2963d9c9d2f07bc3fa9b7d40dae5b65 /src/lib
parent239464ab21714ea543fd284dd40e9aa354e98a4d (diff)
downloadkrb5-2b8d67ceb932507d5a46cafb515304364c858f57.tar.gz
krb5-2b8d67ceb932507d5a46cafb515304364c858f57.tar.xz
krb5-2b8d67ceb932507d5a46cafb515304364c858f57.zip
avoid bug when no addresses are present
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1917 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/krb/gc_via_tgt.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/gc_via_tgt.c b/src/lib/krb5/krb/gc_via_tgt.c
index 9bc5b7e5a..badb45a8e 100644
--- a/src/lib/krb5/krb/gc_via_tgt.c
+++ b/src/lib/krb5/krb/gc_via_tgt.c
@@ -175,10 +175,19 @@ OLDDECLARG(krb5_creds *, cred)
cred->ticket_flags = dec_rep->enc_part2->flags;
cred->is_skey = FALSE;
- if (retval = krb5_copy_addresses(dec_rep->enc_part2->caddrs,
- &cred->addresses)) {
- cleanup();
- return retval;
+ if (dec_rep->enc_part2->caddrs) {
+ if (retval = krb5_copy_addresses(dec_rep->enc_part2->caddrs,
+ &cred->addresses)) {
+ cleanup();
+ return retval;
+ }
+ } else {
+ /* no addresses in the list means we got what we had */
+ if (retval = krb5_copy_addresses(tgt->addresses,
+ &cred->addresses)) {
+ cleanup();
+ return retval;
+ }
}
if (retval = krb5_copy_principal(dec_rep->enc_part2->server,
&cred->server)) {