aboutsummaryrefslogtreecommitdiff
path: root/src/lib/krb5/krb/mk_error.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/krb5/krb/mk_error.c')
-rw-r--r--src/lib/krb5/krb/mk_error.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/lib/krb5/krb/mk_error.c b/src/lib/krb5/krb/mk_error.c
index d5b1a24..c985f3f 100644
--- a/src/lib/krb5/krb/mk_error.c
+++ b/src/lib/krb5/krb/mk_error.c
@@ -20,6 +20,8 @@ static char rcsid_mk_error_c [] =
#include <krb5/krb5.h>
#include <krb5/asn1.h>
+#include <krb5/ext-proto.h>
+
/*
formats the error structure *dec_err into an error buffer *enc_err.
@@ -31,7 +33,14 @@ static char rcsid_mk_error_c [] =
krb5_error_code
krb5_mk_error(dec_err, enc_err)
krb5_error *dec_err;
-krb5_data **enc_err;
+krb5_data *enc_err;
{
- return (encode_krb5_error(dec_err, enc_err));
+ krb5_error_code retval;
+ krb5_data *new_enc_err;
+
+ if (retval = encode_krb5_error(dec_err, &new_enc_err))
+ return(retval);
+ *enc_err = *new_enc_err;
+ (void)free((char *)new_enc_err);
+ return 0;
}