1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00

Merge branch 'fix-gl-15' into 'security'

Don't proceed with cmd_msg if there was an error splitting msg

See merge request irssi/irssi!21
This commit is contained in:
Nei 2017-10-20 13:16:27 +00:00 committed by ailin-nemui
commit c46bed1e17
2 changed files with 10 additions and 2 deletions

View File

@ -198,7 +198,12 @@ char **recode_split(const SERVER_REC *server, const char *str,
int n = 0;
char **ret;
g_return_val_if_fail(str != NULL, NULL);
g_warn_if_fail(str != NULL);
if (str == NULL) {
ret = g_new(char *, 1);
ret[0] = NULL;
return ret;
}
if (settings_get_bool("recode")) {
to = find_conversion(server, target);

View File

@ -116,11 +116,14 @@ static char **split_line(const SERVER_REC *server, const char *line,
* the code much simpler. It's worth it.
*/
len -= strlen(recoded_start) + strlen(recoded_end);
g_warn_if_fail(len > 0);
if (len <= 0) {
/* There is no room for anything. */
g_free(recoded_start);
g_free(recoded_end);
return NULL;
lines = g_new(char *, 1);
lines[0] = NULL;
return lines;
}
lines = recode_split(server, line, target, len, onspace);