aboutsummaryrefslogtreecommitdiffstats
path: root/compat
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-10-12 13:51:39 -0700
committerJunio C Hamano <gitster@pobox.com>2021-10-12 13:51:40 -0700
commitae9e6ef35e1c09cb198dcd7b22287c42728663e7 (patch)
treedce5f437e7a17df4528edc1ca6e0837907da1ed7 /compat
parent3fb1d4da5e7053b54a7e82543fba679f64f72b9d (diff)
parent95b4ff3931064ff222e87eecf6af504ba55069d7 (diff)
downloadgit-ae9e6ef35e1c09cb198dcd7b22287c42728663e7.tar.gz
Merge branch 'rs/git-mmap-uses-malloc' into maint
mmap() imitation used to call xmalloc() that dies upon malloc() failure, which has been corrected to just return an error to the caller to be handled. * rs/git-mmap-uses-malloc: compat: let git_mmap use malloc(3) directly
Diffstat (limited to 'compat')
-rw-r--r--compat/mmap.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/compat/mmap.c b/compat/mmap.c
index 14d31010df..8d6c02d4bc 100644
--- a/compat/mmap.c
+++ b/compat/mmap.c
@@ -7,7 +7,12 @@ void *git_mmap(void *start, size_t length, int prot, int flags, int fd, off_t of
if (start != NULL || flags != MAP_PRIVATE || prot != PROT_READ)
die("Invalid usage of mmap when built with NO_MMAP");
- start = xmalloc(length);
+ if (length == 0) {
+ errno = EINVAL;
+ return MAP_FAILED;
+ }
+
+ start = malloc(length);
if (start == NULL) {
errno = ENOMEM;
return MAP_FAILED;