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]

Reply via email to