From: Ben Pfaff Date: Wed, 2 Jan 2019 22:30:56 +0000 (-0800) Subject: driver: Fix format specifiers and avoid fixed-size buffer. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=7b98e6a43231d8bbf3ae79729b5e1ed9acd09d58 driver: Fix format specifiers and avoid fixed-size buffer. The format specifier problem is real. The fixed-size buffers should not be, but it is not worth arguing with GCC. Fixes: a1b7813a6993 ("output: New page-setup-item.") --- diff --git a/src/output/driver.c b/src/output/driver.c index 8b5a66249d..fb5444ec14 100644 --- a/src/output/driver.c +++ b/src/output/driver.c @@ -239,9 +239,9 @@ output_submit (struct output_item *item) free (e->groups[idx]); if (idx >= 1 && idx <= 4) { - char key[6]; - snprintf (key, sizeof key, "Head%d", idx); + char *key = xasprintf ("Head%zu", idx); string_map_find_and_delete (&e->heading_vars, key); + free (key); } } else if (is_text_item (item)) @@ -252,9 +252,9 @@ output_submit (struct output_item *item) if (type == TEXT_ITEM_TITLE && e->n_groups >= 1 && e->n_groups <= 4) { - char key[6]; - snprintf (key, sizeof key, "Head%d", e->n_groups); + char *key = xasprintf ("Head%zu", e->n_groups); string_map_replace (&e->heading_vars, key, text); + free (key); } else if (type == TEXT_ITEM_PAGE_TITLE) string_map_replace (&e->heading_vars, "PageTitle", text);