commit - 81273528436d00b3a24332dcfe76e5b3f9666363
commit + 3a11398b2a1b600f235c8a856af966f671c58907
blob - ca197e120b16be58b601263b8ccce6b5974437a7
blob + 92c3db02a3b927ecdfefca331cf2190b279536a3
--- lib/pack.c
+++ lib/pack.c
#ifndef GOT_PACK_NO_MMAP
p->map = mmap(NULL, p->len, PROT_READ, MAP_PRIVATE, p->fd, 0);
- if (p->map == MAP_FAILED)
+ if (p->map == MAP_FAILED) {
+ if (errno != ENOMEM) {
+ err = got_error_from_errno();
+ goto done;
+ }
p->map = NULL; /* fall back to read(2) */
+ }
#endif
err = got_packidx_init_hdr(p, verify);
blob - 18ad2bbd94ad2e7a2b6a810cce67893121ae71e4
blob + 96c0dad04655c98b9dc28daf55f4f01b4cdabb30
--- lib/repository.c
+++ lib/repository.c
#ifndef GOT_PACK_NO_MMAP
pack->map = mmap(NULL, pack->filesize, PROT_READ, MAP_PRIVATE,
pack->fd, 0);
- if (pack->map == MAP_FAILED)
+ if (pack->map == MAP_FAILED) {
+ if (errno != ENOMEM) {
+ err = got_error_from_errno();
+ goto done;
+ }
pack->map = NULL; /* fall back to read(2) */
+ }
#endif
done:
if (err) {