ftp://ftp.sunet.se/pub/os/Linux/distributions/ultrapenguin/ultrapenguin-1.1/SRPMS...
[xscreensaver] / utils / colors.c
index 93366b64cff46c1c02962df2ce58ee788b91db1a..86b134426b44306620951295d3b629e5f2913b4e 100644 (file)
@@ -25,11 +25,15 @@ void
 free_colors(Display *dpy, Colormap cmap, XColor *colors, int ncolors)
 {
   int i;
-  unsigned long *pixels = (unsigned long *) malloc(sizeof(*pixels) * ncolors);
-  for (i = 0; i < ncolors; i++)
-    pixels[i] = colors[i].pixel;
-  XFreeColors (dpy, cmap, pixels, ncolors, 0L);
-  free(pixels);
+  if (ncolors > 0)
+    {
+      unsigned long *pixels = (unsigned long *)
+       malloc(sizeof(*pixels) * ncolors);
+      for (i = 0; i < ncolors; i++)
+       pixels[i] = colors[i].pixel;
+      XFreeColors (dpy, cmap, pixels, ncolors, 0L);
+      free(pixels);
+    }
 }