wordexp cannot use we_offs unless WRDE_DOOFFS flag is set

previously, a potentially-indeterminate value from we_offs was being
used, resulting in wrong we_wordc and subsequent crashes in the
caller.
This commit is contained in:
Rich Felker 2011-06-25 18:54:33 -04:00
parent febbd12d00
commit 6250c0be4b
1 changed files with 2 additions and 1 deletions

View File

@ -136,7 +136,8 @@ static int do_wordexp(const char *s, wordexp_t *we, int flags)
}
we->we_wordv = wv;
we->we_wordc = i - we->we_offs;
we->we_wordc = i;
if (flags & WRDE_DOOFFS) we->we_wordc -= we->we_offs;
return err;
}