From 0616df4a763e8ba93641647c5039cd0d33ee75d0 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Wed, 1 Oct 2025 17:13:14 +0300 Subject: [PATCH] panoramix: avoid null dereference in PanoramiXMaybeAddDepth() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported in https://gitlab.freedesktop.org/xorg/xserver/-/issues/1817: Error: GCC_ANALYZER_WARNING (CWE-476): [#def4] xwayland-24.1.6/redhat-linux-build/../Xext/panoramiX.c:748:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘PanoramiXDepths’ xwayland-24.1.6/redhat-linux-build/../Xext/panoramiX.c:802:1: enter_function: entry to ‘PanoramiXConsolidate’ xwayland-24.1.6/redhat-linux-build/../Xext/panoramiX.c:813:17: branch_true: following ‘true’ branch... xwayland-24.1.6/redhat-linux-build/../Xext/panoramiX.c:814:9: branch_true: ...to here xwayland-24.1.6/redhat-linux-build/../Xext/panoramiX.c:814:9: call_function: calling ‘PanoramiXMaybeAddDepth’ from ‘PanoramiXConsolidate’ 746| PanoramiXDepths = reallocarray(PanoramiXDepths, 747| PanoramiXNumDepths, sizeof(DepthRec)); 748|-> PanoramiXDepths[j].depth = pDepth->depth; 749| PanoramiXDepths[j].numVids = 0; 750| PanoramiXDepths[j].vids = NULL; Signed-off-by: Alan Coopersmith Part-of: --- Xext/panoramiX.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c index b44953aa41..9e74fdcbf1 100644 --- a/Xext/panoramiX.c +++ b/Xext/panoramiX.c @@ -726,8 +726,8 @@ PanoramiXMaybeAddDepth(DepthPtr pDepth) int j = PanoramiXNumDepths; PanoramiXNumDepths++; - PanoramiXDepths = reallocarray(PanoramiXDepths, - PanoramiXNumDepths, sizeof(DepthRec)); + PanoramiXDepths = XNFreallocarray(PanoramiXDepths, + PanoramiXNumDepths, sizeof(DepthRec)); PanoramiXDepths[j].depth = pDepth->depth; PanoramiXDepths[j].numVids = 0; PanoramiXDepths[j].vids = NULL;