* image.c (x_create_bitmap_from_xpm_data): Free attributes on
authorChong Yidong <cyd@stupidchicken.com>
Fri, 18 Nov 2005 03:57:36 +0000 (03:57 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Fri, 18 Nov 2005 03:57:36 +0000 (03:57 +0000)
fail.

src/ChangeLog
src/image.c

index 078164c..1a9fd72 100644 (file)
@@ -1,5 +1,8 @@
 2005-11-17  Chong Yidong  <cyd@stupidchicken.com>
 
+       * image.c (x_create_bitmap_from_xpm_data): Free attributes on
+       fail.
+
        * xfaces.c (Qignore_defface): New variable.
        (syms_of_xfaces): Provide `:ignore-defface'.
        (IGNORE_DEFFACE_P): New macro.
index 1ba1cd1..c7bc71e 100644 (file)
@@ -3737,10 +3737,12 @@ x_create_bitmap_from_xpm_data (f, bits)
   rc = XpmCreatePixmapFromData (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
                                bits, &bitmap, &mask, &attrs);
   if (rc != XpmSuccess)
-    return -1;
+    {
+      XpmFreeAttributes (&attrs);
+      return -1;
+    }
 
   id = x_allocate_bitmap_record (f);
-
   dpyinfo->bitmaps[id - 1].pixmap = bitmap;
   dpyinfo->bitmaps[id - 1].have_mask = 1;
   dpyinfo->bitmaps[id - 1].mask = mask;