heimdal: small code adaption to cherry-pick heimdal commit
authorBjörn Baumbach <bb@sernet.de>
Fri, 15 Jun 2018 12:33:40 +0000 (14:33 +0200)
committerBjörn Baumbach <bbaumbach@samba.org>
Mon, 18 Jun 2018 11:01:11 +0000 (13:01 +0200)
Check asprintf() return value.
Make use of krb5_enomem().

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11573

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
source4/heimdal/lib/krb5/config_file.c

index 1f0446799811e0667cf32b635286c7a80c3533a1..a505b63519bf949e6adb0db8a96b7be9165dcad4 100644 (file)
@@ -444,22 +444,17 @@ krb5_config_parse_file_multi (krb5_context context,
                home = pw->pw_dir;
        }
        if (home) {
-           asprintf(&newfname, "%s%s", home, &fname[1]);
-           if (newfname == NULL) {
-               krb5_set_error_message(context, ENOMEM,
-                                      N_("malloc: out of memory", ""));
-               return ENOMEM;
-           }
+           int aret;
+
+           aret = asprintf(&newfname, "%s%s", home, &fname[1]);
+           if (aret == -1 || newfname == NULL)
+               return krb5_enomem(context);
            fname = newfname;
        }
 #else  /* KRB5_USE_PATH_TOKENS */
        if (asprintf(&newfname, "%%{USERCONFIG}%s", &fname[1]) < 0 ||
            newfname == NULL)
-       {
-           krb5_set_error_message(context, ENOMEM,
-                                  N_("malloc: out of memory", ""));
-           return ENOMEM;
-       }
+           return krb5_enomem(context);
        fname = newfname;
 #endif
     }