diff --git a/src/fileops.c b/src/fileops.c index ad2a988a9..f9552a5f8 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -304,7 +304,9 @@ int git_futils_mmap_ro_file(git_map *out, const char *path) if (fd < 0) return fd; - len = git_futils_filesize(fd); + if ((len = git_futils_filesize(fd)) < 0) + return -1; + if (!git__is_sizet(len)) { giterr_set(GITERR_OS, "file `%s` too large to mmap", path); return -1;