| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: Peter Jones <pjones@redhat.com> |
| Date: Mon, 26 Jun 2017 12:42:57 -0400 |
| Subject: [PATCH] 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 4be228d9576..fa3e2912643 100644 |
| |
| |
| @@ -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); |