From 7b98e6a43231d8bbf3ae79729b5e1ed9acd09d58 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 2 Jan 2019 14:30:56 -0800 Subject: [PATCH] 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.") --- src/output/driver.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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); -- 2.30.2