Fix memory handling bug in mk_req_ext
authorGreg Hudson <ghudson@mit.edu>
Thu, 5 Feb 2009 21:27:54 +0000 (21:27 +0000)
committerGreg Hudson <ghudson@mit.edu>
Thu, 5 Feb 2009 21:27:54 +0000 (21:27 +0000)
In make_etype_list, assign *authdata before we have a chance to fail,
since we may have invalidated the previous value with realloc.

ticket: 6372
tags: pullup
target_version: 1.7

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21901 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/krb/mk_req_ext.c

index 2d700aec89e80f26a5a02fd4cd02786362558ab6..ed23fef4b73fd534ed1da3a4238f2265905f96de 100644 (file)
@@ -391,6 +391,7 @@ make_etype_list(krb5_context context,
        krb5_free_data(context, ad_if_relevant);
        return ENOMEM;
     }
+    *authdata = adata;
 
     adata[i] = (krb5_authdata *)malloc(sizeof(krb5_authdata));
     if (adata[i] == NULL) {
@@ -405,8 +406,6 @@ make_etype_list(krb5_context context,
 
     adata[i + 1] = NULL;
 
-    *authdata = adata;
-
     return 0;
 }