From: Denis Sergeev Date: Mon, 29 Sep 2025 10:40:36 +0000 (+0300) Subject: gh-139146: Check `calloc()` results in `_testembed.c::test_pre_initialization_sys_opt... X-Git-Tag: v3.15.0a1~185 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9c6a1f847b648747414600f2cde18f3837505537;p=thirdparty%2FPython%2Fcpython.git gh-139146: Check `calloc()` results in `_testembed.c::test_pre_initialization_sys_options` (#139147) Reported by: Dmitrii Chuprov Signed-off-by: Denis Sergeev --- diff --git a/Programs/_testembed.c b/Programs/_testembed.c index b5047a014ac6..76c61efeb50a 100644 --- a/Programs/_testembed.c +++ b/Programs/_testembed.c @@ -340,8 +340,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);