]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix off-by-one which caused BZ #18042 and add a test for it.
authorPaul Pluzhnikov <ppluzhnikov@google.com>
Mon, 9 Mar 2015 04:55:13 +0000 (21:55 -0700)
committerPaul Pluzhnikov <ppluzhnikov@google.com>
Mon, 9 Mar 2015 04:55:13 +0000 (21:55 -0700)
ChangeLog
posix/wordexp-test.c
posix/wordexp.c

index 7858d6bb17786b839ea16546e1c98bc9fc66e03b..abb948f36f11b46ae6ef5fffad335a7954300b5a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+       [BZ #18042]
+       * posix/wordexp.c (parse_backtick): Fix off-by-one.
+       * posix/wordexp-test.c (test_case): Add test for BZ #18042.
+
 2015-03-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
        [BZ #18043]
index dfe4443cceaf4256fac8cd6c32a7256d45983f6a..845407e5372e15644c74af06b20f4f5b4f2ed0b2 100644 (file)
@@ -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 },
   };
index 1c144014b3607597e23f5005ea697754b2a654f7..ae4fd72b821fdf132031321215f47df2bcdded4f 100644 (file)
@@ -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);