From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 29 Sep 2025 11:03:01 +0000 (+0200) Subject: [3.13] gh-139146: Check `calloc()` results in `_testembed.c::test_pre_initialization_... X-Git-Tag: v3.13.8~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6260b6ae24e11b3d338c72f0391de442756e33ca;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-139146: Check `calloc()` results in `_testembed.c::test_pre_initialization_sys_options` (GH-139147) (#139414) gh-139146: Check `calloc()` results in `_testembed.c::test_pre_initialization_sys_options` (GH-139147) (cherry picked from commit 9c6a1f847b648747414600f2cde18f3837505537) Reported by: Dmitrii Chuprov Signed-off-by: Denis Sergeev Co-authored-by: Denis Sergeev --- diff --git a/Programs/_testembed.c b/Programs/_testembed.c index cc577f555715..0ff2e85a4be2 100644 --- a/Programs/_testembed.c +++ b/Programs/_testembed.c @@ -359,8 +359,18 @@ static int test_pre_initialization_sys_options(void) size_t xoption_len = wcslen(static_xoption); wchar_t *dynamic_once_warnoption = \ (wchar_t *) calloc(warnoption_len+1, sizeof(wchar_t)); + if (dynamic_once_warnoption == NULL) { + error("out of memory allocating warnoption"); + return 1; + } wchar_t *dynamic_xoption = \ (wchar_t *) calloc(xoption_len+1, sizeof(wchar_t)); + if (dynamic_xoption == NULL) { + free(dynamic_once_warnoption); + error("out of memory allocating xoption"); + return 1; + } + wcsncpy(dynamic_once_warnoption, static_warnoption, warnoption_len+1); wcsncpy(dynamic_xoption, static_xoption, xoption_len+1);