[14/16] Fix memory leak in XXorRegion error path.

Submitted by Ander Conselvan de Oliveira on March 30, 2011, 8:12 p.m.

Details

Message ID 1301490729-22084-15-git-send-email-ander.conselvan-de-oliveira@nokia.com
State Deferred, archived
Headers show

Not browsing as part of any series.

Commit Message

Ander Conselvan de Oliveira March 30, 2011, 8:12 p.m.
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan-de-oliveira@nokia.com>
---
 src/Region.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/Region.c b/src/Region.c
index e960ad1..2350cd3 100644
--- a/src/Region.c
+++ b/src/Region.c
@@ -1449,8 +1449,12 @@  XXorRegion(Region sra, Region srb, Region dr)
 {
     Region tra, trb;
 
-    if ((! (tra = XCreateRegion())) || (! (trb = XCreateRegion())))
+    if (! (tra = XCreateRegion()))
 	return 0;
+    if (! (trb = XCreateRegion())) {
+	XDestroyRegion(tra);
+	return 0;
+    }
     (void) XSubtractRegion(sra,srb,tra);
     (void) XSubtractRegion(srb,sra,trb);
     (void) XUnionRegion(tra,trb,dr);