mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-11 16:34:33 +00:00
Fix segmentation fault observed on OpenBSD/sparc64
A non-readable mapping of a file causes an access violation in the pack tests. Always use PROT_READ to work around this.
This commit is contained in:
parent
ea8dedc953
commit
aad0bd6bc7
@ -26,7 +26,7 @@ int git__page_size(size_t *page_size)
|
|||||||
|
|
||||||
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offset)
|
int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offset)
|
||||||
{
|
{
|
||||||
int mprot = 0;
|
int mprot = PROT_READ;
|
||||||
int mflag = 0;
|
int mflag = 0;
|
||||||
|
|
||||||
GIT_MMAP_VALIDATE(out, len, prot, flags);
|
GIT_MMAP_VALIDATE(out, len, prot, flags);
|
||||||
@ -35,9 +35,7 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
|
|||||||
out->len = 0;
|
out->len = 0;
|
||||||
|
|
||||||
if (prot & GIT_PROT_WRITE)
|
if (prot & GIT_PROT_WRITE)
|
||||||
mprot = PROT_WRITE;
|
mprot |= PROT_WRITE;
|
||||||
else if (prot & GIT_PROT_READ)
|
|
||||||
mprot = PROT_READ;
|
|
||||||
|
|
||||||
if ((flags & GIT_MAP_TYPE) == GIT_MAP_SHARED)
|
if ((flags & GIT_MAP_TYPE) == GIT_MAP_SHARED)
|
||||||
mflag = MAP_SHARED;
|
mflag = MAP_SHARED;
|
||||||
|
Loading…
Reference in New Issue
Block a user