mirror of
https://github.com/irssi/irssi.git
synced 2024-12-04 14:46:39 -05:00
Fix oob read of one byte in get_file_params_count{,_resume}
We can use continue to handle cases such as: "ab<space><space>c"
This commit is contained in:
parent
10cea61696
commit
30a92754bb
@ -382,6 +382,8 @@ int get_file_params_count(char **params, int paramcount)
|
|||||||
if (*params[0] == '"') {
|
if (*params[0] == '"') {
|
||||||
/* quoted file name? */
|
/* quoted file name? */
|
||||||
for (pos = 0; pos < paramcount-3; pos++) {
|
for (pos = 0; pos < paramcount-3; pos++) {
|
||||||
|
if (strlen(params[pos]) == 0)
|
||||||
|
continue;
|
||||||
if (params[pos][strlen(params[pos])-1] == '"' &&
|
if (params[pos][strlen(params[pos])-1] == '"' &&
|
||||||
get_params_match(params, pos+1))
|
get_params_match(params, pos+1))
|
||||||
return pos+1;
|
return pos+1;
|
||||||
|
@ -62,6 +62,8 @@ int get_file_params_count_resume(char **params, int paramcount)
|
|||||||
if (*params[0] == '"') {
|
if (*params[0] == '"') {
|
||||||
/* quoted file name? */
|
/* quoted file name? */
|
||||||
for (pos = 0; pos < paramcount-2; pos++) {
|
for (pos = 0; pos < paramcount-2; pos++) {
|
||||||
|
if (strlen(params[pos]) == 0)
|
||||||
|
continue;
|
||||||
if (params[pos][strlen(params[pos])-1] == '"' &&
|
if (params[pos][strlen(params[pos])-1] == '"' &&
|
||||||
get_params_match_resume(params, pos+1))
|
get_params_match_resume(params, pos+1))
|
||||||
return pos+1;
|
return pos+1;
|
||||||
|
Loading…
Reference in New Issue
Block a user