mirror of
https://github.com/weechat/weechat.git
synced 2026-06-30 23:06:38 +02:00
core: fix buffer overflow in function utf8_next_char and return NULL for empty string
Now the function utf8_next_char with an empty string returns NULL instead of
the next char, which is most of the time after an allocated buffer.
And the function utf8_char_size with an empty string now returns 0 instead of
1.
This indirectly fixes a buffer overflow in function eval_string_range_chars
when the input string is empty (for example when doing `/eval -n ${chars:}`).
This commit is contained in:
@@ -115,7 +115,7 @@ hook_command_run_exec (struct t_gui_buffer *buffer, const char *command)
|
||||
if (command[0] != '/')
|
||||
{
|
||||
ptr_string = utf8_next_char (command);
|
||||
if (string_asprintf (&command2, "/%s", ptr_string) < 0)
|
||||
if (string_asprintf (&command2, "/%s", (ptr_string) ? ptr_string : "") < 0)
|
||||
return WEECHAT_RC_ERROR;
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user