diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-07-21 22:51:54 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-07-22 11:47:14 +0200 |
commit | 21fc7a4b7422f8b441a6266a11cc8e337aae190d (patch) | |
tree | ea32977883135de411f75f82eb5089792fc3ac2d /src/custom.c | |
parent | 6203966fbf1f8886ff59cc9d6350b034ee5374c9 (diff) | |
download | calcurse-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.c | 5 |
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")); |