From 87227e5fc79750d3eccc3c3482a3c5b3f2af2e90 Mon Sep 17 00:00:00 2001 From: Tobias Stoeckmann Date: Sat, 28 Jan 2017 15:37:57 +0100 Subject: Fix memory leak on error paths Introduced in commit a0df3e1c7728205e5c7650b2e6dce684139254a6 "Avoid out of boundary accesses on illegal responses" Signed-off-by: Julien Cristau --- src/XrrCrtc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/XrrCrtc.c b/src/XrrCrtc.c index 6665092..8316b78 100644 --- a/src/XrrCrtc.c +++ b/src/XrrCrtc.c @@ -459,6 +459,7 @@ XRRGetCrtcTransform (Display *dpy, e = extra; if (e + rep.pendingNbytesFilter > end) { + XFree (attr); XFree (extra); return False; } @@ -468,6 +469,7 @@ XRRGetCrtcTransform (Display *dpy, for (p = 0; p < rep.pendingNparamsFilter; p++) { INT32 f; if (e + 4 > end) { + XFree (attr); XFree (extra); return False; } @@ -478,6 +480,7 @@ XRRGetCrtcTransform (Display *dpy, attr->pendingNparams = rep.pendingNparamsFilter; if (e + rep.currentNbytesFilter > end) { + XFree (attr); XFree (extra); return False; } @@ -487,6 +490,7 @@ XRRGetCrtcTransform (Display *dpy, for (p = 0; p < rep.currentNparamsFilter; p++) { INT32 f; if (e + 4 > end) { + XFree (attr); XFree (extra); return False; } -- cgit v1.2.1