diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2013-12-16 22:06:19 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2013-12-16 22:06:19 (GMT) |
commit | 711e27cd503933cfe7a42d931d2b69dc79014ae0 (patch) | |
tree | c860d8891413b4941c37036198b4b1d75bd6fb87 /Modules | |
parent | 4d8c29cd572b9556e6cfdcfea58724c4a69dbaa6 (diff) | |
download | cpython-711e27cd503933cfe7a42d931d2b69dc79014ae0.zip cpython-711e27cd503933cfe7a42d931d2b69dc79014ae0.tar.gz cpython-711e27cd503933cfe7a42d931d2b69dc79014ae0.tar.bz2 |
tracemalloc: fix usage of strtol(), value can be LONG_MIN or LONG_MAX on ERANGE
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_tracemalloc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/_tracemalloc.c b/Modules/_tracemalloc.c index 7e6113d..f8ce766 100644 --- a/Modules/_tracemalloc.c +++ b/Modules/_tracemalloc.c @@ -1373,11 +1373,12 @@ _PyTraceMalloc_Init(void) char *endptr = p; long value; + errno = 0; value = strtol(p, &endptr, 10); if (*endptr != '\0' || value < 1 || value > MAX_NFRAME - || (errno == ERANGE && value == ULONG_MAX)) + || errno == ERANGE) { Py_FatalError("PYTHONTRACEMALLOC: invalid number of frames"); return -1; |