]> source.dussan.org Git - tigervnc.git/commitdiff
Check for out-of-memory when installing color map. 134/head
authorTim Waugh <twaugh@redhat.com>
Wed, 25 Feb 2015 12:25:33 +0000 (12:25 +0000)
committerTim Waugh <twaugh@redhat.com>
Wed, 25 Feb 2015 17:19:45 +0000 (17:19 +0000)
Also remove Xalloc/Xfree definitions, using malloc/free directly
instead. Note that vfbAllocateFramebufferMemory() does not need to
check for failed allocations as it is the caller's responsibility to
do so (and they do).

unix/xserver/hw/vnc/xvnc.c

index 042c0a499c86c5d1c882a3cc0dee6e0c9a6474fa..8019895814109bbc1c7a00f48c0161d63208bdca 100644 (file)
@@ -87,11 +87,6 @@ from the X Consortium.
 #endif
 #include "site.h"
 
-#if XORG >= 110
-#define Xalloc malloc
-#define Xfree free
-#endif
-
 #define XVNCVERSION "TigerVNC 1.4.80"
 #define XVNCCOPYRIGHT ("Copyright (C) 1999-2015 TigerVNC Team and many others (see README.txt)\n" \
                        "See http://www.tigervnc.org for information on TigerVNC.\n")
@@ -682,6 +677,8 @@ vfbInstallColormap(ColormapPtr pmap)
        ppix = (Pixel *)calloc(entries, sizeof(Pixel));
        prgb = (xrgb *)calloc(entries, sizeof(xrgb));
        defs = (xColorItem *)calloc(entries, sizeof(xColorItem));
+       if (!ppix || !prgb || !defs)
+         FatalError ("Not enough memory for color map\n");
 
        for (i = 0; i < entries; i++)  ppix[i] = i;
        /* XXX truecolor */
@@ -786,7 +783,7 @@ vfbAllocateFramebufferMemory(vfbFramebufferInfoPtr pfb)
         break;
 #endif
     case NORMAL_MEMORY_FB:
-        pfb->pfbMemory = Xalloc(pfb->sizeInBytes);
+        pfb->pfbMemory = malloc(pfb->sizeInBytes);
         break;
     }
 
@@ -813,7 +810,7 @@ vfbFreeFramebufferMemory(vfbFramebufferInfoPtr pfb)
         break;
 #endif /* HAS_SHM */
     case NORMAL_MEMORY_FB:
-        Xfree(pfb->pfbMemory);
+        free(pfb->pfbMemory);
         break;
     }