summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAilin Nemui <ailin@z30a.localdomain>2017-06-05 15:12:16 +0200
committerAilin Nemui <ailin@z30a.localdomain>2017-06-05 15:12:16 +0200
commitfb08fc7f1aa6b2e616413d003bf021612301ad55 (patch)
treeceb8cb9d37b82de21fc241fbc8c8fb3fcc15c956
parent31b9d115b065570020ce9be1a1d8cd49212f70a9 (diff)
parent200eb5922e23050d19e0a6cf88b1d3dbc8c93110 (diff)
downloadirssi-fb08fc7f1aa6b2e616413d003bf021612301ad55.zip
Merge remote-tracking branch 'gitlab/security'
-rw-r--r--src/irc/dcc/dcc-get.c6
-rw-r--r--src/irc/dcc/dcc-resume.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/irc/dcc/dcc-get.c b/src/irc/dcc/dcc-get.c
index 73c1b864..107f68fa 100644
--- a/src/irc/dcc/dcc-get.c
+++ b/src/irc/dcc/dcc-get.c
@@ -382,6 +382,8 @@ int get_file_params_count(char **params, int paramcount)
if (*params[0] == '"') {
/* quoted file name? */
for (pos = 0; pos < paramcount-3; pos++) {
+ if (strlen(params[pos]) == 0)
+ continue;
if (params[pos][strlen(params[pos])-1] == '"' &&
get_params_match(params, pos+1))
return pos+1;
@@ -428,6 +430,10 @@ static void ctcp_msg_dcc_send(IRC_SERVER_REC *server, const char *data,
int p_id = -1;
int passive = FALSE;
+ if (addr == NULL) {
+ addr = "";
+ }
+
/* SEND <file name> <address> <port> <size> [...] */
/* SEND <file name> <address> 0 <size> <id> (DCC SEND passive protocol) */
params = g_strsplit(data, " ", -1);
diff --git a/src/irc/dcc/dcc-resume.c b/src/irc/dcc/dcc-resume.c
index 36f84ddf..ce0ac925 100644
--- a/src/irc/dcc/dcc-resume.c
+++ b/src/irc/dcc/dcc-resume.c
@@ -62,6 +62,8 @@ int get_file_params_count_resume(char **params, int paramcount)
if (*params[0] == '"') {
/* quoted file name? */
for (pos = 0; pos < paramcount-2; pos++) {
+ if (strlen(params[pos]) == 0)
+ continue;
if (params[pos][strlen(params[pos])-1] == '"' &&
get_params_match_resume(params, pos+1))
return pos+1;