Thread (17 messages) flat view 17 messages, 6 authors, 2022-06-17
STALE1523d

[PATCH 01/11] mingw: avoid accessing uninitialized memory in `is_executable()`

From: Johannes Schindelin via GitGitGadget <hidden>
Date: 2022-06-15 23:35:57
Subsystem: the rest · Maintainer: Linus Torvalds

From: Johannes Schindelin <redacted>

On Windows, we open files we suspect might be scripts, read the first
two bytes, and see whether they indicate a hash-bang line. We do not
initialize the byte _after_ those two bytes, therefore `strcmp()` is
inappropriate here.

Reported by Coverity.

Signed-off-by: Johannes Schindelin <redacted>
---
 run-command.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/run-command.c b/run-command.c
index 14f17830f51..2ba38850b4d 100644
--- a/run-command.c
+++ b/run-command.c
@@ -154,7 +154,7 @@ int is_executable(const char *name)
 		n = read(fd, buf, 2);
 		if (n == 2)
 			/* look for a she-bang */
-			if (!strcmp(buf, "#!"))
+			if (!memcmp(buf, "#!", 2))
 				st.st_mode |= S_IXUSR;
 		close(fd);
 	}
-- 
gitgitgadget
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help