]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-126461: Fix _Unpickler_ReadFromFile() error handling (GH-126485) (#126496)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 6 Nov 2024 13:49:25 +0000 (14:49 +0100)
committerGitHub <noreply@github.com>
Wed, 6 Nov 2024 13:49:25 +0000 (13:49 +0000)
gh-126461: Fix _Unpickler_ReadFromFile() error handling (GH-126485)

Handle _Unpickler_SetStringInput() failure.
(cherry picked from commit a1c57bcfd2bcbc55ff858407e09c1d8d8cee44e6)

Co-authored-by: Victor Stinner <vstinner@python.org>
Modules/_pickle.c

index 879c18263d505ee15c2790c0df60d422971d5213..179500d6956a78c08c96b394809e78347231c85a 100644 (file)
@@ -1344,6 +1344,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;