summaryrefslogtreecommitdiff
path: root/src/custom.c
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2014-07-21 22:51:54 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2014-07-22 11:47:14 +0200
commit21fc7a4b7422f8b441a6266a11cc8e337aae190d (patch)
treeea32977883135de411f75f82eb5089792fc3ac2d /src/custom.c
parent6203966fbf1f8886ff59cc9d6350b034ee5374c9 (diff)
downloadcalcurse-21fc7a4b7422f8b441a6266a11cc8e337aae190d.zip
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 <calcurse@cryptocrack.de>
Diffstat (limited to 'src/custom.c')
-rw-r--r--src/custom.c5
1 files changed, 3 insertions, 2 deletions
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"));