From 295030d5719c3af352cfc5394b8ce13e3a1e0fb9 Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Fri, 12 Oct 2018 16:21:47 -1000 Subject: Add and update a number of packages --- data/git/shebang.diff | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 data/git/shebang.diff (limited to 'data/git') diff --git a/data/git/shebang.diff b/data/git/shebang.diff new file mode 100644 index 000000000..1659a5ce4 --- /dev/null +++ b/data/git/shebang.diff @@ -0,0 +1,22 @@ +diff -ur git-2.18.0/run-command.c git-2.18.0+iPhone/run-command.c +--- git-2.18.0/run-command.c 2018-06-21 07:00:06.000000000 -1000 ++++ git-2.18.0+iPhone/run-command.c 2018-09-14 15:34:44.000000000 -1000 +@@ -814,9 +814,16 @@ + */ + execve(argv.argv[1], (char *const *) argv.argv + 1, + (char *const *) childenv); +- if (errno == ENOEXEC) +- execve(argv.argv[0], (char *const *) argv.argv, ++ if (errno == ENOEXEC || errno == EPERM) { ++ struct argv_array out = ARGV_ARRAY_INIT; ++ argv_array_push(&out, SHELL_PATH); ++ argv_array_push(&out, "-c"); ++ argv_array_push(&out, "\"$@\""); ++ argv_array_push(&out, SHELL_PATH); // unused $0 ++ argv_array_pushv(&out, cmd->argv); ++ execve(SHELL_PATH, (char *const *) out.argv, + (char *const *) childenv); ++ } + + if (errno == ENOENT) { + if (cmd->silent_exec_failure) -- cgit v1.2.3