Module Name:    xsrc
Committed By:   christos
Date:           Mon Jun  3 22:44:40 UTC 2013

Modified Files:
        xsrc/external/mit/xf86-video-openchrome/dist/src: via_display.c

Log Message:
PR/47884: Brad Harder: Avoid variable stack allocation, use malloc for SSP.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
    xsrc/external/mit/xf86-video-openchrome/dist/src/via_display.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-openchrome/dist/src/via_display.c
diff -u xsrc/external/mit/xf86-video-openchrome/dist/src/via_display.c:1.1.1.2 xsrc/external/mit/xf86-video-openchrome/dist/src/via_display.c:1.2
--- xsrc/external/mit/xf86-video-openchrome/dist/src/via_display.c:1.1.1.2	Sat Jun  1 17:08:53 2013
+++ xsrc/external/mit/xf86-video-openchrome/dist/src/via_display.c	Mon Jun  3 18:44:40 2013
@@ -1002,9 +1002,13 @@ iga1_crtc_gamma_set(xf86CrtcPtr crtc, CA
     vgaHWPtr hwp = VGAHWPTR(pScrn);
     VIAPtr pVia = VIAPTR(pScrn);
     int SR1A, SR1B, CR67, CR6A;
-    LOCO colors[size];
+    LOCO *colors;
     int i;
 
+    colors = malloc(size * sizeof(*colors));
+    if (colors == NULL)
+	return;
+
     for (i = 0; i < size; i++) {
         colors[i].red = red[i] >> 8;
         colors[i].green = green[i] >> 8;
@@ -1039,6 +1043,7 @@ iga1_crtc_gamma_set(xf86CrtcPtr crtc, CA
             hwp->writeDacData(hwp, colors[i].blue);
         }
     }
+    free(colors);
 }
 
 static void *
@@ -1413,8 +1418,12 @@ iga2_crtc_gamma_set(xf86CrtcPtr crtc, CA
     vgaHWPtr hwp = VGAHWPTR(pScrn);
     VIAPtr pVia = VIAPTR(pScrn);
     int SR1A, SR1B, CR67, CR6A;
-    LOCO colors[size];
     int i;
+    LOCO *colors;
+
+    colors = malloc(size * sizeof(*colors));
+    if (colors == NULL)
+	return;
 
     for (i = 0; i < size; i++) {
         colors[i].red = red[i] >> 8;
@@ -1473,6 +1482,7 @@ iga2_crtc_gamma_set(xf86CrtcPtr crtc, CA
             hwp->writeDacData(hwp, colors[i].blue);
         }
     }
+    free(colors);
 }
 
 static void *

Reply via email to