]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-36819: Fix crashes in built-in encoders with weird error handlers (GH-28593)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 2 May 2022 09:59:40 +0000 (02:59 -0700)
committerGitHub <noreply@github.com>
Mon, 2 May 2022 09:59:40 +0000 (02:59 -0700)
commit206f416bd07ca3bc9c8bafd124c943d4d0293039
treee852c5a1189cc4b9ec21e263d9b4ca87a4447d7f
parentd05ee916c142d9c9172cc20292285d02d4aaef3c
bpo-36819: Fix crashes in built-in encoders with weird error handlers (GH-28593)

If the error handler returns position less or equal than the starting
position of non-encodable characters, most of built-in encoders didn't
properly re-size the output buffer. This led to out-of-bounds writes,
and segfaults.
(cherry picked from commit 18b07d773e09a2719e69aeaa925d5abb7ba0c068)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Lib/test/test_codeccallbacks.py
Misc/NEWS.d/next/Core and Builtins/2021-09-28-10-58-30.bpo-36819.cyV50C.rst [new file with mode: 0644]
Objects/stringlib/codecs.h
Objects/unicodeobject.c