From 1f89a67ef084f8248c3b0727b09c247f8ccbdaa0 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 26 Jun 2017 12:42:57 -0400 Subject: [PATCH 172/176] Don't use dynamic sized arrays since we don't build with -std=c99 --- grub-core/net/net.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/grub-core/net/net.c b/grub-core/net/net.c index 4be228d95..fa3e29126 100644 --- a/grub-core/net/net.c +++ b/grub-core/net/net.c @@ -1853,14 +1853,25 @@ grub_net_search_configfile (char *config) { /* By the Client UUID. */ - char client_uuid_var[sizeof ("net_") + grub_strlen (inf->name) + - sizeof ("_clientuuid") + 1]; - grub_snprintf (client_uuid_var, sizeof (client_uuid_var), + char *client_uuid_var; + grub_size_t client_uuid_var_size; + + client_uuid_var_size = grub_snprintf (NULL, 0, + "net_%s_clientuuid", inf->name); + if (client_uuid_var_size <= 0) + continue; + client_uuid_var_size += 1; + client_uuid_var = grub_malloc(client_uuid_var_size); + if (!client_uuid_var) + continue; + grub_snprintf (client_uuid_var, client_uuid_var_size, "net_%s_clientuuid", inf->name); const char *client_uuid; client_uuid = grub_env_get (client_uuid_var); + grub_free(client_uuid_var); + if (client_uuid) { grub_strcpy (suffix, client_uuid); -- 2.13.0