Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_x


Modified Files:
        ecore_x_icccm.c 


Log Message:


safety checks

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- ecore_x_icccm.c     16 May 2005 12:59:26 -0000      1.26
+++ ecore_x_icccm.c     25 May 2005 05:40:03 -0000      1.27
@@ -86,7 +86,7 @@
 Ecore_X_Window_State_Hint
 ecore_x_icccm_state_get(Ecore_X_Window win)
 {
-   unsigned char *prop_ret;
+   unsigned char *prop_ret = NULL;
    Atom           type_ret;
    unsigned long  bytes_after, num_ret;
    int            format_ret;
@@ -446,6 +446,7 @@
    XTextProperty       xprop;
    int                 ret;
 
+   xprop.value = NULL;
 #ifdef X_HAVE_UTF8_STRING
    list[0] = strdup(t);
    ret =
@@ -460,14 +461,14 @@
    if (ret >= Success)
      {
        XSetWMName(_ecore_x_disp, win, &xprop);
-       XFree(xprop.value);
+       if (xprop.value) XFree(xprop.value);
      }
    else
      {
        if (XStringListToTextProperty(list, 1, &xprop) >= Success)
          {
             XSetWMName(_ecore_x_disp, win, &xprop);
-            XFree(xprop.value);
+            if (xprop.value) XFree(xprop.value);
          }
      }
    free(list[0]);
@@ -478,6 +479,7 @@
 {
    XTextProperty       xprop;
 
+   xprop.value = NULL;
    if (XGetWMName(_ecore_x_disp, win, &xprop) >= Success)
      {
        if (xprop.value)
@@ -518,8 +520,8 @@
                         XFreeStringList(list);
                    }
               }
-
-            XFree(xprop.value);
+            
+            if (xprop.value) XFree(xprop.value);
             return t;
          }
      }
@@ -603,7 +605,7 @@
 
  leave:
    if (protos)
-      XFree(protos);
+     XFree(protos);
 
 }
 
@@ -635,7 +637,7 @@
           break;
        }
 
-   XFree(protos);
+   if (protos) XFree(protos);
    return ret;
 
 }
@@ -677,6 +679,8 @@
    
    if (n) *n = NULL;
    if (c) *c = NULL;
+   xch.res_name = NULL;
+   xch.res_class = NULL;
    if (XGetClassHint(_ecore_x_disp, win, &xch))
      {
        if (n)
@@ -804,7 +808,8 @@
          {
             if (oldset[i] == subwin)
               {
-                 XFree(old_data);
+                 if (old_data) XFree(old_data);
+                 old_data = NULL;
                  free(newset);
                  return;
               }
@@ -813,7 +818,7 @@
          }
 
        newset[num++] = subwin;
-       XFree(old_data);
+       if (old_data) XFree(old_data);
        data = (unsigned char *)newset;
      }
 
@@ -851,7 +856,8 @@
               {
                  XDeleteProperty(_ecore_x_disp,
                                  win, ECORE_X_ATOM_WM_COLORMAP_WINDOWS);
-                 XFree(old_data);
+                 if (old_data) XFree(old_data);
+                 old_data = NULL;
                  return;
               }
             else
@@ -864,14 +870,15 @@
                  ecore_x_window_prop_property_set(win,
                                                   
ECORE_X_ATOM_WM_COLORMAP_WINDOWS,
                                                   XA_WINDOW, 32, data, k);
-                 XFree(old_data);
+                 if (old_data) XFree(old_data);
+                 old_data = NULL;
                  free(newset);
                  return;
               }
          }
      }
 
-   XFree(old_data);
+   if (old_data) XFree(old_data);
 }
 
 /**




-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to