summaryrefslogtreecommitdiffstats
path: root/Python/perf_trampoline.c
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-12-21 19:44:15 (GMT)
committerGitHub <noreply@github.com>2023-12-21 19:44:15 (GMT)
commitc38ebb40d195c0ed910c7d4a2f352676f64fa371 (patch)
tree38fda8337fe6eb1a33ace08a9cf9692f81def5a8 /Python/perf_trampoline.c
parent8836c2d91a9bd4b5b0bf38d7dd41c5b698bfa7a5 (diff)
downloadcpython-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.c2
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);