(_kdc_do_524): Handle memory allocation failure
Coverity, NetBSD CID#2752 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17015 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
28
kdc/524.c
28
kdc/524.c
@@ -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)
|
||||
|
Reference in New Issue
Block a user