diff options
author | Caolán McNamara <caolanm@redhat.com> | 2023-02-16 15:14:55 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2023-02-16 16:15:23 +0000 |
commit | f90d45790df4d1ceda866277d8d603e3528392e8 (patch) | |
tree | 01916e401a31ef474b0326b19932f6f88309aff1 /vcl | |
parent | b63bffc2bb5a68d1f21e4035dde9a60429c9173c (diff) |
ofz#56020 Null-dereference READ
Change-Id: Id80522c807ac58144b1ec978251a13012e1c8ad5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147158
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/regband.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/vcl/source/gdi/regband.cxx b/vcl/source/gdi/regband.cxx index 675d99bc0975..91d292519faf 100644 --- a/vcl/source/gdi/regband.cxx +++ b/vcl/source/gdi/regband.cxx @@ -815,15 +815,16 @@ bool ImplRegionBand::Contains( tools::Long nX ) tools::Long ImplRegionBand::GetXLeftBoundary() const { - assert(mpFirstSep && "ImplRegionBand::XLeftBoundary -> no separation in band!"); + SAL_WARN_IF(mpFirstSep == nullptr, "vcl", "ImplRegionBand::XLeftBoundary -> no separation in band!"); - return mpFirstSep->mnXLeft; + return mpFirstSep ? mpFirstSep->mnXLeft : 0; } tools::Long ImplRegionBand::GetXRightBoundary() const { SAL_WARN_IF( mpFirstSep == nullptr, "vcl", "ImplRegionBand::XRightBoundary -> no separation in band!" ); - + if (!mpFirstSep) + return 0; // search last separation ImplRegionBandSep* pSep = mpFirstSep; while ( pSep->mpNextSep ) |