summaryrefslogtreecommitdiff
path: root/src/irc/core
diff options
context:
space:
mode:
authorJoseph Bisch <joseph.bisch@gmail.com>2017-10-18 14:52:04 -0400
committerailin-nemui <ailin-nemui@users.noreply.github.com>2017-10-20 15:22:32 +0200
commit0840eaec7bf56740029aae614e393f8cf76f6946 (patch)
treecc0764382ec7a11799c5151ee37bcfdea0b6c354 /src/irc/core
parentbeb2beba3b4802c6969a5595197e25e7a5483fa3 (diff)
downloadirssi-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.c5
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);