summaryrefslogtreecommitdiff
path: root/Python/thread_pthread.h
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2015-01-23 19:36:54 +0000
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2015-01-23 19:36:54 +0000
commit8fa7954e4ef26dcf377019236cc2171fb8be8355 (patch)
treea1e6fd2f3384fb9656a70174a65ea0a04ffd4861 /Python/thread_pthread.h
parenta2f7d2bf741a71f23cbf154cc292e610086f431f (diff)
parentc8962fe46dc4b0bfa761087a8e095e0fb001fb34 (diff)
downloadcpython-8fa7954e4ef26dcf377019236cc2171fb8be8355.tar.gz
Closes #23202: pyvenv documentation updated to match its behavior.
Diffstat (limited to 'Python/thread_pthread.h')
-rw-r--r--Python/thread_pthread.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index d9f7c76f2a..27e0dc84bc 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -608,7 +608,15 @@ PyThread_create_key(void)
{
pthread_key_t key;
int fail = pthread_key_create(&key, NULL);
- return fail ? -1 : key;
+ if (fail)
+ return -1;
+ if (key > INT_MAX) {
+ /* Issue #22206: handle integer overflow */
+ pthread_key_delete(key);
+ errno = ENOMEM;
+ return -1;
+ }
+ return (int)key;
}
void