fix debashify brace expansion segfault
This commit is contained in:
parent
fab144947a
commit
44c03ca0be
1 changed files with 3 additions and 3 deletions
|
|
@ -980,7 +980,7 @@ bool debashify_brace_expansion(arglist_t* in, debashify_params* params)
|
||||||
{
|
{
|
||||||
bool has_replaced=false;
|
bool has_replaced=false;
|
||||||
start:
|
start:
|
||||||
for(uint32_t iarg=0; iarg<=in->args.size(); iarg++)
|
for(uint32_t iarg=0; iarg<in->args.size(); iarg++)
|
||||||
{
|
{
|
||||||
// don't treat non-pure-string arguments for now
|
// don't treat non-pure-string arguments for now
|
||||||
if(in->args[iarg] == nullptr || in->args[iarg]->sa.size() != 1 || in->args[iarg]->sa[0]->type != _obj::subarg_string)
|
if(in->args[iarg] == nullptr || in->args[iarg]->sa.size() != 1 || in->args[iarg]->sa[0]->type != _obj::subarg_string)
|
||||||
|
|
@ -1089,12 +1089,12 @@ bool debashify_brace_expansion(arglist_t* in, debashify_params* params)
|
||||||
} break;
|
} break;
|
||||||
case '\'': {
|
case '\'': {
|
||||||
i++;
|
i++;
|
||||||
while(val[i] != '\'')
|
while(i<val.size() && val[i] != '\'')
|
||||||
i++;
|
i++;
|
||||||
} break;
|
} break;
|
||||||
case '"' : {
|
case '"' : {
|
||||||
i++;
|
i++;
|
||||||
while(val[i] != '"') {
|
while(i<val.size() && val[i] != '"') {
|
||||||
if(val[i] == '\\')
|
if(val[i] == '\\')
|
||||||
i++;
|
i++;
|
||||||
i++;
|
i++;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue