]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Fix unlikely null dereference in TGS client code
authorNeng Xue <xnsuda@yahoo.com>
Mon, 30 Jun 2014 21:04:56 +0000 (14:04 -0700)
committerTom Yu <tlyu@mit.edu>
Mon, 21 Jul 2014 22:20:33 +0000 (18:20 -0400)
If krb5_get_tgs_ktypes fails (due to an out-of-memory condition or an
error re-reading the profile), k5_make_tgs_req will dereference a null
pointer.  Check the return value before dereferencing defenctypes.

[ghudson@mit.edu: clarified commit message]

(cherry picked from commit 81e503c09ad9aef4a0afc6bf66a0269cde2151f3)

ticket: 7952
version_fixed: 1.12.2
status: resolved

src/lib/krb5/krb/send_tgs.c

index cd56366cb2bacf918b43625fa801256807dcc614..f6fdf68d4725e867e9954f3787f36d15dc5d2066 100644 (file)
@@ -198,7 +198,9 @@ k5_make_tgs_req(krb5_context context,
         req.nktypes = 1;
     } else {
         /* Get the default TGS enctypes. */
-        krb5_get_tgs_ktypes(context, desired->server, &defenctypes);
+        ret = krb5_get_tgs_ktypes(context, desired->server, &defenctypes);
+        if (ret)
+            goto cleanup;
         for (count = 0; defenctypes[count]; count++);
         req.ktype = defenctypes;
         req.nktypes = count;