From 21fc7a4b7422f8b441a6266a11cc8e337aae190d Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Mon, 21 Jul 2014 22:51:54 +0200 Subject: Replace several uses of snprintf() by asprintf() Use asprintf() in some cold code paths. While allocating memory on the heap is a bit slower, using asprintf() is a bit more memory efficient and less prone to buffer overflow errors. Signed-off-by: Lukas Fleischer --- src/custom.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/custom.c') diff --git a/src/custom.c b/src/custom.c index b3d5da5..cccf7b1 100644 --- a/src/custom.c +++ b/src/custom.c @@ -803,14 +803,15 @@ print_keys_bindings(WINDOW * win, int selected_row, int selected_elm, noelm = y = 0; for (action = 0; action < NBKEYS; action++) { - char actionstr[BUFSIZ]; + char *actionstr; int nbkeys; nbkeys = keys_action_count_keys(action); - snprintf(actionstr, BUFSIZ, "%s", keys_get_label(action)); + asprintf(&actionstr, "%s", keys_get_label(action)); if (action == selected_row) custom_apply_attr(win, ATTR_HIGHEST); mvwprintw(win, y, XPOS, "%s ", actionstr); + mem_free(actionstr); mvwaddstr(win, y, EQUALPOS, "="); if (nbkeys == 0) mvwaddstr(win, y, KEYPOS, _("undefined")); -- cgit v1.2.3