From 483558eeffabb817195c7b3fb59e17aa0909879b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sat, 21 Jul 2007 17:30:18 +0000 Subject: [PATCH] Don't ovewrite the error code, from Peter Meinecke. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21654 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kaserver.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/kdc/kaserver.c b/kdc/kaserver.c index ebf3de4a0..6a7d77c80 100644 --- a/kdc/kaserver.c +++ b/kdc/kaserver.c @@ -191,19 +191,28 @@ init_reply_header (struct rx_header *hdr, reply_hdr->serviceid = hdr->serviceid; } +/* + * Create an error `reply´ using for the packet `hdr' with the error + * `error´ code. + */ static void make_error_reply (struct rx_header *hdr, - uint32_t ret, + uint32_t error, krb5_data *reply) { - krb5_storage *sp; struct rx_header reply_hdr; + krb5_error_code ret; + krb5_storage *sp; init_reply_header (hdr, &reply_hdr, HT_ABORT, HF_LAST); sp = krb5_storage_emem(); + if (sp == NULL) + return; ret = encode_rx_header (&reply_hdr, sp); - krb5_store_int32(sp, ret); + if (ret) + return; + krb5_store_int32(sp, error); krb5_storage_to_data (sp, reply); krb5_storage_free (sp); }