mirror of
https://github.com/irssi/irssi.git
synced 2025-01-03 14:56:47 -05:00
Make split functions return an array with NULL instead of NULL
This avoids undefined behavior in functions that call these split functions and expect an array back instead of just a NULL pointer.
This commit is contained in:
parent
beb2beba3b
commit
0840eaec7b
@ -198,7 +198,12 @@ char **recode_split(const SERVER_REC *server, const char *str,
|
|||||||
int n = 0;
|
int n = 0;
|
||||||
char **ret;
|
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")) {
|
if (settings_get_bool("recode")) {
|
||||||
to = find_conversion(server, target);
|
to = find_conversion(server, target);
|
||||||
|
@ -116,11 +116,14 @@ static char **split_line(const SERVER_REC *server, const char *line,
|
|||||||
* the code much simpler. It's worth it.
|
* the code much simpler. It's worth it.
|
||||||
*/
|
*/
|
||||||
len -= strlen(recoded_start) + strlen(recoded_end);
|
len -= strlen(recoded_start) + strlen(recoded_end);
|
||||||
|
g_warn_if_fail(len > 0);
|
||||||
if (len <= 0) {
|
if (len <= 0) {
|
||||||
/* There is no room for anything. */
|
/* There is no room for anything. */
|
||||||
g_free(recoded_start);
|
g_free(recoded_start);
|
||||||
g_free(recoded_end);
|
g_free(recoded_end);
|
||||||
return NULL;
|
lines = g_new(char *, 1);
|
||||||
|
lines[0] = NULL;
|
||||||
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
lines = recode_split(server, line, target, len, onspace);
|
lines = recode_split(server, line, target, len, onspace);
|
||||||
|
Loading…
Reference in New Issue
Block a user