summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2024-11-06 13:24:46 (GMT)
committerGitHub <noreply@github.com>2024-11-06 13:24:46 (GMT)
commita1c57bcfd2bcbc55ff858407e09c1d8d8cee44e6 (patch)
treeea60ad80561167ac16f6474df8205fabd248dcf2
parent9cba47d9f151734815a61e32391ea7fca877ea55 (diff)
downloadcpython-a1c57bcfd2bcbc55ff858407e09c1d8d8cee44e6.zip
cpython-a1c57bcfd2bcbc55ff858407e09c1d8d8cee44e6.tar.gz
cpython-a1c57bcfd2bcbc55ff858407e09c1d8d8cee44e6.tar.bz2
gh-126461: Fix _Unpickler_ReadFromFile() error handling (#126485)
Handle _Unpickler_SetStringInput() failure.
-rw-r--r--Modules/_pickle.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index b2bd954..863da68 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -1288,6 +1288,10 @@ _Unpickler_ReadFromFile(UnpicklerObject *self, Py_ssize_t n)
else {
read_size = _Unpickler_SetStringInput(self, data);
Py_DECREF(data);
+ if (read_size < 0) {
+ return -1;
+ }
+
self->prefetched_idx = 0;
if (n <= read_size)
return n;