From 618b731d5a9ca8b02010dc55c91e67cf97ff0309 Mon Sep 17 00:00:00 2001 From: Jfreegman Date: Fri, 1 Aug 2014 23:00:52 -0400 Subject: [PATCH] fix possible buffer overflow --- src/toxic.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/toxic.c b/src/toxic.c index a860d94..d11d880 100644 --- a/src/toxic.c +++ b/src/toxic.c @@ -93,6 +93,7 @@ void exit_toxic_success(Tox *m) kill_all_windows(); free(DATA_FILE); + free(BLOCK_FILE); free(user_settings_); #ifdef _SOUND_NOTIFY @@ -523,11 +524,12 @@ static void parse_args(int argc, char *argv[]) switch (opt) { case 'f': DATA_FILE = strdup(optarg); - BLOCK_FILE = strdup(optarg); + BLOCK_FILE = malloc(strlen(optarg) + strlen("-blocklist") + 1); if (DATA_FILE == NULL || BLOCK_FILE == NULL) exit_toxic_err("failed in parse_args", FATALERR_MEMORY); + strcpy(BLOCK_FILE, optarg); strcat(BLOCK_FILE, "-blocklist"); break;