diff options
author | Ailin Nemui <ailin@z30a.localdomain> | 2017-06-05 15:12:16 +0200 |
---|---|---|
committer | Ailin Nemui <ailin@z30a.localdomain> | 2017-06-05 15:12:16 +0200 |
commit | fb08fc7f1aa6b2e616413d003bf021612301ad55 (patch) | |
tree | ceb8cb9d37b82de21fc241fbc8c8fb3fcc15c956 | |
parent | 31b9d115b065570020ce9be1a1d8cd49212f70a9 (diff) | |
parent | 200eb5922e23050d19e0a6cf88b1d3dbc8c93110 (diff) | |
download | irssi-fb08fc7f1aa6b2e616413d003bf021612301ad55.zip |
Merge remote-tracking branch 'gitlab/security'
-rw-r--r-- | src/irc/dcc/dcc-get.c | 6 | ||||
-rw-r--r-- | src/irc/dcc/dcc-resume.c | 2 |
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; |