use krb5_mk_error instead of custom interface
authorJohn Kohl <jtkohl@mit.edu>
Thu, 1 Feb 1990 15:20:12 +0000 (15:20 +0000)
committerJohn Kohl <jtkohl@mit.edu>
Thu, 1 Feb 1990 15:20:12 +0000 (15:20 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@225 dc483132-0cff-0310-8789-dd5450dbe970

src/kdc/do_as_req.c
src/kdc/do_tgs_req.c

index 4718bc3c1eae985b513a3380ffae3aab07796fb2..7ec02ff9a15d5990da5b684913dc6634589f38e6 100644 (file)
@@ -251,7 +251,7 @@ krb5_data **response;
 {
     krb5_error errpkt;
     krb5_error_code retval;
-
+    krb5_data *scratch;
 
     errpkt.ctime = request->ctime;
     errpkt.cmsec = 0;
@@ -266,7 +266,12 @@ krb5_data **response;
        return ENOMEM;
     (void) strcpy(errpkt.text.data, error_message(error+KRB5KDC_ERR_NONE));
 
-    retval = encode_krb5_error(&errpkt, response);
+    if (!(scratch = (krb5_data *)malloc(sizeof(*scratch)))) {
+       free(errpkt.txt.data);
+       return ENOMEM;
+    }
+    retval = encode_krb5_error(&errpkt, scratch);
     free(errpkt.text.data);
+    *response = scratch;
     return retval;
 }
index ef470d1410ae3120248550cb5bab71e90349396c..9b7f69f6888ff8526d2a497d5ec5de04091097dc 100644 (file)
@@ -382,7 +382,7 @@ krb5_data **response;
 {
     krb5_error errpkt;
     krb5_error_code retval;
-
+    krb5_data *scratch;
 
     errpkt.ctime = request->ctime;
     errpkt.cmsec = 0;
@@ -397,8 +397,13 @@ krb5_data **response;
        return ENOMEM;
     (void) strcpy(errpkt.text.data, error_message(error+KRB5KDC_ERR_NONE));
 
-    retval = encode_krb5_error(&errpkt, response);
+    if (!(scratch = (krb5_data *)malloc(sizeof(*scratch)))) {
+       free(errpkt.txt.data);
+       return ENOMEM;
+    }
+    retval = krb5_mk_error(&errpkt, scratch);
     free(errpkt.text.data);
+    *response = scratch;
     return retval;
 }