diff --git a/src/autocomplete.c b/src/autocomplete.c index ea8fb90..1a25776 100644 --- a/src/autocomplete.c +++ b/src/autocomplete.c @@ -287,7 +287,7 @@ int dir_match(ToxWindow *self, Tox *m, const wchar_t *line, const wchar_t *cmd) if (dp == NULL) return -1; - char dirnames[MAX_DIRS][NAME_MAX]; + char dirnames[MAX_DIRS][NAME_MAX + 1]; struct dirent *entry; int dircount = 0; diff --git a/src/chat.c b/src/chat.c index 1066bcd..8b90363 100644 --- a/src/chat.c +++ b/src/chat.c @@ -561,7 +561,7 @@ static void chat_onFileRecv(ToxWindow *self, Tox *m, uint32_t friendnum, uint32_ bytes_convert_str(sizestr, sizeof(sizestr), file_size); line_info_add(self, NULL, NULL, NULL, SYS_MSG, 0, 0, "File transfer request for '%s' (%s)", filename, sizestr); - char file_path[MAX_STR_SIZE]; + char file_path[PATH_MAX + name_length + 1]; size_t path_len = name_length; /* use specified download path in config if possible */ diff --git a/src/toxic.c b/src/toxic.c index 6fe014d..3722fc0 100644 --- a/src/toxic.c +++ b/src/toxic.c @@ -578,7 +578,7 @@ static void init_tox_options(struct Tox_Options *tox_opts) tox_opts->proxy_host = arg_opts.proxy_address; const char *ps = tox_opts->proxy_type == TOX_PROXY_TYPE_SOCKS5 ? "SOCKS5" : "HTTP"; - char tmp[48]; + char tmp[sizeof(arg_opts.proxy_address) + MAX_STR_SIZE]; snprintf(tmp, sizeof(tmp), "Using %s proxy %s : %d", ps, arg_opts.proxy_address, arg_opts.proxy_port); queue_init_message("%s", tmp); } @@ -1256,7 +1256,7 @@ int main(int argc, char **argv) cleanup_init_messages(); /* set user avatar from config file. if no path is supplied tox_unset_avatar is called */ - char avatarstr[MAX_STR_SIZE]; + char avatarstr[PATH_MAX + 11]; snprintf(avatarstr, sizeof(avatarstr), "/avatar \"%s\"", user_settings->avatar_path); execute(prompt->chatwin->history, prompt, m, avatarstr, GLOBAL_COMMAND_MODE);