diff options
author | Andrew Bartlett <abartlet@samba.org> | 2006-04-24 09:36:24 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:04:15 -0500 |
commit | c33f6b2c370379dfd010600adc59e7439f1318f7 (patch) | |
tree | 2ac36b3751796f05ecb45a2ecd03bd166ed7182f /source4/heimdal/kdc/524.c | |
parent | 0eddf14b307e905663b95296aa695a10d3fb90f7 (diff) | |
download | samba-c33f6b2c370379dfd010600adc59e7439f1318f7.tar.gz samba-c33f6b2c370379dfd010600adc59e7439f1318f7.tar.bz2 samba-c33f6b2c370379dfd010600adc59e7439f1318f7.zip |
r15192: Update Samba4 to use current lorikeet-heimdal.
Andrew Bartlett
(This used to be commit f0e538126c5cb29ca14ad0d8281eaa0a715ed94f)
Diffstat (limited to 'source4/heimdal/kdc/524.c')
-rw-r--r-- | source4/heimdal/kdc/524.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/source4/heimdal/kdc/524.c b/source4/heimdal/kdc/524.c index 1642975616..9fcf40a4c2 100644 --- a/source4/heimdal/kdc/524.c +++ b/source4/heimdal/kdc/524.c @@ -33,7 +33,7 @@ #include "kdc_locl.h" -RCSID("$Id: 524.c,v 1.35 2005/12/13 19:42:37 lha Exp $"); +RCSID("$Id: 524.c,v 1.36 2006/04/07 22:12:28 lha Exp $"); #include <krb5-v4compat.h> @@ -374,19 +374,21 @@ _kdc_do_524(krb5_context context, /* make reply */ memset(buf, 0, sizeof(buf)); sp = krb5_storage_from_mem(buf, sizeof(buf)); - krb5_store_int32(sp, ret); - if(ret == 0){ - krb5_store_int32(sp, kvno); - krb5_store_data(sp, ticket.cipher); - /* Aargh! This is coded as a KTEXT_ST. */ - krb5_storage_seek(sp, MAX_KTXT_LEN - ticket.cipher.length, SEEK_CUR); - krb5_store_int32(sp, 0); /* mbz */ - free_EncryptedData(&ticket); - } - ret = krb5_storage_to_data(sp, reply); - reply->length = krb5_storage_seek(sp, 0, SEEK_CUR); - krb5_storage_free(sp); - + if (sp) { + krb5_store_int32(sp, ret); + if(ret == 0){ + krb5_store_int32(sp, kvno); + krb5_store_data(sp, ticket.cipher); + /* Aargh! This is coded as a KTEXT_ST. */ + krb5_storage_seek(sp, MAX_KTXT_LEN - ticket.cipher.length, SEEK_CUR); + krb5_store_int32(sp, 0); /* mbz */ + free_EncryptedData(&ticket); + } + ret = krb5_storage_to_data(sp, reply); + reply->length = krb5_storage_seek(sp, 0, SEEK_CUR); + krb5_storage_free(sp); + } else + krb5_data_zero(reply); if(spn) free(spn); if(server) |