From 4e935e35f1abdc8fb8313c04b1605b78b75a50be Mon Sep 17 00:00:00 2001 From: Dimitrios Apostolou Date: Tue, 10 Nov 2020 15:45:09 +0100 Subject: Avoid false positives in Clang static analyzer This assert should avoid three null-pointer dereference warnings, that get flagged later in the same function, assuming that worker is null. Change-Id: I1bf521fa335ee14b8ac98e872f31ef704f386efe CodeChecker-report-hash: 38b39301a55fdb09bb0ec7cd43aa4f5e Reviewed-by: Qt CI Bot Reviewed-by: Allan Sandfeld Jensen --- src/gui/painting/qgrayraster.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/gui') diff --git a/src/gui/painting/qgrayraster.c b/src/gui/painting/qgrayraster.c index d457943a3a..c6b9aa679e 100644 --- a/src/gui/painting/qgrayraster.c +++ b/src/gui/painting/qgrayraster.c @@ -187,6 +187,7 @@ typedef ptrdiff_t QT_FT_PtrDist; #include #include +#include #define QT_FT_UNUSED( x ) (void) x @@ -1837,8 +1838,11 @@ QT_FT_END_STMNT if ( !raster || !raster->buffer || !raster->buffer_size ) return ErrRaster_Invalid_Argument; - if ( raster->worker ) - raster->worker->skip_spans = params->skip_spans; + /* Should always be non-null, it is set by raster_reset() which is always */ + /* called with a non-null pool, and a pool_size >= MINIMUM_POOL_SIZE. */ + assert(raster->worker); + + raster->worker->skip_spans = params->skip_spans; /* If raster object and raster buffer are allocated, but */ /* raster size isn't of the minimum size, indicate out of */ -- cgit v1.2.3