]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Fix unlikely leak in KDC AS-REQ error path 542/head
authorGreg Hudson <ghudson@mit.edu>
Thu, 22 Sep 2016 06:21:39 +0000 (02:21 -0400)
committerGreg Hudson <ghudson@mit.edu>
Fri, 23 Sep 2016 16:49:29 +0000 (12:49 -0400)
In prepare_error_as(), if krb5_us_timeofday() fails and error pa-data
was supplied, the FAST cookie and a shallow copy of the error padata
can be leaked.  Reported by Will Fiveash.

ticket: 8498
target_version: 1.14-next
tags: pullup

src/kdc/do_as_req.c

index 544094933245838be7d818c6e83240e46a47d27a..712ccb794680b86bc2f49fe542c66b7738809a7a 100644 (file)
@@ -859,7 +859,7 @@ prepare_error_as(struct kdc_request_state *rstate, krb5_kdc_req *request,
 
     retval = krb5_us_timeofday(kdc_context, &errpkt.stime, &errpkt.susec);
     if (retval)
-        return retval;
+        goto cleanup;
     errpkt.error = error;
     errpkt.server = request->server;
     errpkt.client = (error == KDC_ERR_WRONG_REALM) ? canon_client :