diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2023-12-21 19:44:15 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-21 19:44:15 (GMT) |
commit | c38ebb40d195c0ed910c7d4a2f352676f64fa371 (patch) | |
tree | 38fda8337fe6eb1a33ace08a9cf9692f81def5a8 /Python/perf_trampoline.c | |
parent | 8836c2d91a9bd4b5b0bf38d7dd41c5b698bfa7a5 (diff) | |
download | cpython-c38ebb40d195c0ed910c7d4a2f352676f64fa371.zip cpython-c38ebb40d195c0ed910c7d4a2f352676f64fa371.tar.gz cpython-c38ebb40d195c0ed910c7d4a2f352676f64fa371.tar.bz2 |
[3.12] gh-113343: Fix error check on mmap(2) (GH-113342) (#113374)
gh-113343: Fix error check on mmap(2) (GH-113342)
Fix error check on mmap(2)
It should check MAP_FAILED instead of NULL for error.
On mmap(2) man page:
RETURN VALUE
On success, mmap() returns a pointer to the mapped area.
On error, the value MAP_FAILED (that is, (void *) -1) is
returned, and errno is set to indicate the error.
(cherry picked from commit 6b70c3dc5ab2f290fcdbe474bcb7d6fdf29eae4c)
Co-authored-by: Namhyung Kim <namhyung@gmail.com>
Diffstat (limited to 'Python/perf_trampoline.c')
-rw-r--r-- | Python/perf_trampoline.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Python/perf_trampoline.c b/Python/perf_trampoline.c index a91f4f8..ea9dc83 100644 --- a/Python/perf_trampoline.c +++ b/Python/perf_trampoline.c @@ -247,7 +247,7 @@ new_code_arena(void) mem_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, // fd (not used here) 0); // offset (not used here) - if (!memory) { + if (memory == MAP_FAILED) { PyErr_SetFromErrno(PyExc_OSError); _PyErr_WriteUnraisableMsg( "Failed to create new mmap for perf trampoline", NULL); |