Bug #2131

mmap() with size == 0 returns ptr to ld-elf.so.2

Added by vsrinivas over 2 years ago. Updated over 2 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

mmap passed a size of 0 with PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON returns
a pointer to the base of the mapped ld-elf.so.2 rather than an EINVAL, which is
the expected return for len = 0.

---

#include <stdlib.h>
#include <sys/mman.h>

main() {
char *buf = mmap(NULL, 0, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANON, -1, 0);
printf("%p \n", buf);
pause();
}

demonstrates; look at /proc/<pid>/map after the mmap().

History

#1 Updated by vsrinivas over 2 years ago

Closed by 06cee6ba38d901952e904cbb86c1f3fa6e5d97de.

Also available in: Atom PDF