]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
When skipping white space after #! to find the interpreter
authorFlorian Krohm <florian@eich-krohm.de>
Thu, 2 Apr 2015 16:07:41 +0000 (16:07 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Thu, 2 Apr 2015 16:07:41 +0000 (16:07 +0000)
only skip ' ' and tabs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15063

coregrind/m_ume/script.c
none/tests/Makefile.am
none/tests/shell_valid4 [new file with mode: 0755]
none/tests/shell_valid4.stderr.exp [new file with mode: 0644]
none/tests/shell_valid4.stdout.exp [new file with mode: 0644]
none/tests/shell_valid4.vgtest [new file with mode: 0644]

index 741838e62d7e26f0b861a5681efad8186aee909a..182a23c65a7f0829f085b94cd9bafac6e1b95e93 100644 (file)
@@ -55,7 +55,7 @@ Bool VG_(match_script)(const void *hdr, Int len)
    // Find interpreter name, make sure it's an absolute path (starts with
    // '/') and has at least one more char.  First, skip over any space
    // between the #! and the start of the interpreter name
-   while (interp < end && VG_(isspace)(*interp)) interp++;
+   while (interp < end && (*interp == ' ' || *interp == '\t')) interp++;
 
    // overrun?
    if (interp >= end)   return False;  // can't find start of interp name
index 54790425acf943e97f2e2a63abf696ccb96a781b..fee4a782f8fd019ba5a96057eb7263bed040abca 100644 (file)
@@ -159,6 +159,7 @@ EXTRA_DIST = \
        shell_valid1 shell_valid1.vgtest shell_valid1.stderr.exp \
        shell_valid2 shell_valid2.vgtest shell_valid2.stderr.exp \
        shell_valid3 shell_valid3.vgtest shell_valid3.stderr.exp \
+       shell_valid4 shell_valid4.vgtest shell_valid4.stderr.exp shell_valid4.stdout.exp \
        shell_zerolength shell_zerolength.vgtest shell_zerolength.stderr.exp \
            shell_zerolength.stderr.exp-dash \
        sha1_test.stderr.exp sha1_test.vgtest \
diff --git a/none/tests/shell_valid4 b/none/tests/shell_valid4
new file mode 100755 (executable)
index 0000000..fe35d8a
--- /dev/null
@@ -0,0 +1,3 @@
+#! 
+/bin/echo
+
diff --git a/none/tests/shell_valid4.stderr.exp b/none/tests/shell_valid4.stderr.exp
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/none/tests/shell_valid4.stdout.exp b/none/tests/shell_valid4.stdout.exp
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/none/tests/shell_valid4.vgtest b/none/tests/shell_valid4.vgtest
new file mode 100644 (file)
index 0000000..1178aa1
--- /dev/null
@@ -0,0 +1,7 @@
+#
+# This test used to write 
+#   ./shell_valid4
+# to stdout which is not what happens when executed natively.
+#
+prog: shell_valid4
+vgopts: -q