diff options
author | Joseph Bisch <joseph.bisch@gmail.com> | 2017-10-18 14:52:04 -0400 |
---|---|---|
committer | ailin-nemui <ailin-nemui@users.noreply.github.com> | 2017-10-20 15:22:32 +0200 |
commit | 0840eaec7bf56740029aae614e393f8cf76f6946 (patch) | |
tree | cc0764382ec7a11799c5151ee37bcfdea0b6c354 /src/irc/core | |
parent | beb2beba3b4802c6969a5595197e25e7a5483fa3 (diff) | |
download | irssi-0840eaec7bf56740029aae614e393f8cf76f6946.zip |
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.
Diffstat (limited to 'src/irc/core')
-rw-r--r-- | src/irc/core/irc-servers.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c index 3117e345..4eaab712 100644 --- a/src/irc/core/irc-servers.c +++ b/src/irc/core/irc-servers.c @@ -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); |