debian/changelog | 7 +++++++ src/xcb_io.c | 13 ++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-)
New commits: commit ca708e7101a9ae045b69f608968839fbee4a09fe Author: Julien Cristau <[EMAIL PROTECTED]> Date: Thu Sep 25 17:46:01 2008 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index b97dcf0..15c86b4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +libx11 (2:1.1.5-2) unstable; urgency=medium + + * Cherry-picked from upstream git: Fix an XCB leak when the client has a + non-fatal error handler. + + -- Julien Cristau <[EMAIL PROTECTED]> Thu, 25 Sep 2008 17:45:25 +0200 + libx11 (2:1.1.5-1) unstable; urgency=low [ Brice Goglin ] commit 43c5e5348c90162740aba7e5ad870e550d39d551 Author: Adam Jackson <[EMAIL PROTECTED]> Date: Wed Sep 17 12:54:34 2008 -0400 Fix the previous patch for the BadFont case. (cherry picked from commit 340422a5c7a413faef18666cada27cee14615250) diff --git a/src/xcb_io.c b/src/xcb_io.c index 3881d97..e23dbb2 100644 --- a/src/xcb_io.c +++ b/src/xcb_io.c @@ -401,9 +401,10 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard) } break; case BadFont: - if(err->majorCode == X_QueryFont) + if(err->majorCode == X_QueryFont) { free(error); return 0; + } break; case BadAlloc: case BadAccess: commit ae15b9bf1a462645977c8533a6acb4385d4fba7f Author: Matthias Clasen <[EMAIL PROTECTED]> Date: Wed Sep 17 10:43:52 2008 -0400 Bug #17616: Fix an XCB leak when the client has a non-fatal error handler. (cherry picked from commit 2335eafe4b53c27f6f9ee1bab3e1f5842f896428) diff --git a/src/xcb_io.c b/src/xcb_io.c index 5f07184..3881d97 100644 --- a/src/xcb_io.c +++ b/src/xcb_io.c @@ -396,15 +396,18 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard) { case X_LookupColor: case X_AllocNamedColor: + free(error); return 0; } break; case BadFont: if(err->majorCode == X_QueryFont) + free(error); return 0; break; case BadAlloc: case BadAccess: + free(error); return 0; } @@ -413,10 +416,13 @@ Status _XReply(Display *dpy, xReply *rep, int extra, Bool discard) * want to suppress the error. */ for(ext = dpy->ext_procs; ext; ext = ext->next) - if(ext->error && ext->error(dpy, err, &ext->codes, &ret_code)) + if(ext->error && ext->error(dpy, err, &ext->codes, &ret_code)) { + free(error); return ret_code; + } - _XError(dpy, (xError *) error); + _XError(dpy, err); + free(error); return 0; } -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]