From 5723e0b2507bb9cf01956889ff6bf8563e6b02ae Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Wed, 17 Oct 2018 19:55:14 +0900 Subject: [PATCH] RegionSupport: Fix memory leak MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In XXorRegion(), memory allocated in if statement might be leaked. Pointed by Clang Static Analyzer. Change-Id: I6b8b68bc5fea7b7c1fd354f05f03d3ebb0b11b62 Reviewed-on: https://review.haiku-os.org/633 Reviewed-by: Stephan Aßmus --- src/kits/interface/RegionSupport.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kits/interface/RegionSupport.cpp b/src/kits/interface/RegionSupport.cpp index b8a8ed5bd8..780fbba829 100644 --- a/src/kits/interface/RegionSupport.cpp +++ b/src/kits/interface/RegionSupport.cpp @@ -1528,7 +1528,11 @@ BRegion::Support::XXorRegion(const BRegion* sra, const BRegion* srb, BRegion* trb; if ((! (tra = CreateRegion())) || (! (trb = CreateRegion()))) + { + DestroyRegion(tra); + DestroyRegion(trb); return 0; + } (void) XSubtractRegion(sra,srb,tra); (void) XSubtractRegion(srb,sra,trb); (void) XUnionRegion(tra,trb,dr);