@matheusbsbs / matheus-bagliano / commits / 1a4042096c
Fork 0

mingw: do not crash on open(NULL, ...)

fetch_and_setup_pack_index() apparently pass a NULL-pointer to parse_pack_index(), which in turn pass it to check_packed_git_idx(), which again pass it to open(). Since open() already sets errno correctly for the NULL-case, let's just avoid the problematic strcmp. [PT: squashed in fix for fopen which was missed first time round] Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>

Erik Faye-Lund committed Sep 23, 2010 at 17:35 UTC 1a4042096c2e8893246a99ef8e43c07acb76f54b
1 file changed +2 -2
compat/mingw.c
+2 -2
@@ -127,7 +127,7 @@ int mingw_open (const char *filename, int oflags, ...)
127 mode = va_arg(args, int);
128 va_end(args);
129
130 - if (!strcmp(filename, "/dev/null"))
130 + if (filename && !strcmp(filename, "/dev/null"))
131 filename = "nul";
132
133 fd = open(filename, oflags, mode);
@@ -160,7 +160,7 @@ ssize_t mingw_write(int fd, const void *buf, size_t count)
160 #undef fopen
161 FILE *mingw_fopen (const char *filename, const char *otype)
162 {
163 - if (!strcmp(filename, "/dev/null"))
163 + if (filename && !strcmp(filename, "/dev/null"))
164 filename = "nul";
165 return fopen(filename, otype);
166 }