[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libx11: Changes to 'debian-unstable'



 debian/changelog |    7 +++++++
 src/xcb_io.c     |   13 ++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

New commits:
commit ca708e7101a9ae045b69f608968839fbee4a09fe
Author: Julien Cristau <jcristau@debian.org>
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 <jcristau@debian.org>  Thu, 25 Sep 2008 17:45:25 +0200
+
 libx11 (2:1.1.5-1) unstable; urgency=low
 
   [ Brice Goglin ]

commit 43c5e5348c90162740aba7e5ad870e550d39d551
Author: Adam Jackson <ajax@redhat.com>
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 <mclasen@redhat.com>
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;
 	}
 


Reply to: