diff options
author | Dimitrios Apostolou <jimis@qt.io> | 2020-11-10 15:45:09 +0100 |
---|---|---|
committer | Dimitrios Apostolou <jimis@qt.io> | 2020-11-13 01:17:30 +0100 |
commit | 4e935e35f1abdc8fb8313c04b1605b78b75a50be (patch) | |
tree | bff60aa24ba8a72e2f30e59f10bce78f01ef3259 /src/gui/painting | |
parent | 062ba97f86a7ec07c8f83636857f1fed097acb92 (diff) |
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 <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qgrayraster.c | 8 |
1 files changed, 6 insertions, 2 deletions
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 <stdlib.h> #include <stdio.h> +#include <assert.h> #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 */ |