From: VanshAgarwal24036 <148854295+VanshAgarwal24036@users.noreply.github.com> Date: Fri, 13 Mar 2026 12:15:26 +0000 (+0530) Subject: gh-145792: Fix incorrect alloca allocation size in traceback.c (#145814) X-Git-Tag: v3.15.0a8~327 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=59d97683c19923b06e2b2110efadb90fe37f53f3;p=thirdparty%2FPython%2Fcpython.git gh-145792: Fix incorrect alloca allocation size in traceback.c (#145814) --- diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-19-09-47.gh-issue-145792.X5KUhc.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-19-09-47.gh-issue-145792.X5KUhc.rst new file mode 100644 index 000000000000..bd42f32d6ae3 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-11-19-09-47.gh-issue-145792.X5KUhc.rst @@ -0,0 +1,2 @@ +Fix out-of-bounds access when invoking faulthandler on a CPython build +compiled without support for VLAs. diff --git a/Python/traceback.c b/Python/traceback.c index 74360a1c73c2..1e8c9c879f9a 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -41,7 +41,7 @@ #if defined(__STDC_NO_VLA__) && (__STDC_NO_VLA__ == 1) /* Use alloca() for VLAs. */ -# define VLA(type, name, size) type *name = alloca(size) +# define VLA(type, name, size) type *name = alloca(sizeof(type) * (size)) #elif !defined(__STDC_NO_VLA__) || (__STDC_NO_VLA__ == 0) /* Use actual C VLAs.*/ # define VLA(type, name, size) type name[size]