diff options
author | Paul Pluzhnikov <ppluzhnikov@google.com> | 2015-03-08 21:55:13 -0700 |
---|---|---|
committer | Paul Pluzhnikov <ppluzhnikov@google.com> | 2015-03-08 21:55:13 -0700 |
commit | f8ba70e9f8ad2707951882c535ea27909d8d762d (patch) | |
tree | 4c7403801ce172040c3505bf4da13f77adeb76e4 /posix | |
parent | 36103ba2f5db530bff24896dfc9076955fba3b5f (diff) | |
download | glibc-f8ba70e9f8ad2707951882c535ea27909d8d762d.tar.gz glibc-f8ba70e9f8ad2707951882c535ea27909d8d762d.tar.xz glibc-f8ba70e9f8ad2707951882c535ea27909d8d762d.zip |
Fix off-by-one which caused BZ #18042 and add a test for it.
Diffstat (limited to 'posix')
-rw-r--r-- | posix/wordexp-test.c | 3 | ||||
-rw-r--r-- | posix/wordexp.c | 1 |
2 files changed, 2 insertions, 2 deletions
diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c index dfe4443cce..845407e537 100644 --- a/posix/wordexp-test.c +++ b/posix/wordexp-test.c @@ -234,7 +234,8 @@ struct test_case_struct { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS }, { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS }, - { WRDE_SYNTAX, NULL, "${", 0, 0, { NULL, }, IFS }, /* BZ 18043 */ + { WRDE_SYNTAX, NULL, "`\\", 0, 0, { NULL, }, IFS }, /* BZ 18042 */ + { WRDE_SYNTAX, NULL, "${", 0, 0, { NULL, }, IFS }, /* BZ 18043 */ { -1, NULL, NULL, 0, 0, { NULL, }, IFS }, }; diff --git a/posix/wordexp.c b/posix/wordexp.c index 1c144014b3..ae4fd72b82 100644 --- a/posix/wordexp.c +++ b/posix/wordexp.c @@ -2143,7 +2143,6 @@ parse_backtick (char **word, size_t *word_length, size_t *max_length, break; } - ++(*offset); error = parse_backslash (&comm, &comm_length, &comm_maxlen, words, offset); |