From 50f6ee7bd5cecb308ccf6284b0a44595adcf3903 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 26 Apr 2010 13:26:20 +0000 Subject: ensure reply is not leaked if server does not support shared memory svn path=/trunk/libnsfb/; revision=10489 --- src/surface/x.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/surface/x.c b/src/surface/x.c index 6fddfca..356b1bf 100644 --- a/src/surface/x.c +++ b/src/surface/x.c @@ -497,10 +497,15 @@ create_shm_image(xstate_t *xstate, int width, int height, int bpp) ck = xcb_shm_query_version(xstate->connection); rep = xcb_shm_query_version_reply(xstate->connection, ck , NULL); - if ((!rep) || - (rep->major_version < 1) || - (rep->major_version == 1 && rep->minor_version == 0)) { - fprintf (stderr, "No or insufficient shm support...\n"); + if (!rep) { + fprintf (stderr, "Server has no shm support.\n"); + return NULL; + } + + if((rep->major_version < 1) || + (rep->major_version == 1 && rep->minor_version == 0)) { + fprintf (stderr, "server SHM support is insufficient.\n"); + free(rep); return NULL; } free(rep); -- cgit v1.2.3