summaryrefslogtreecommitdiffstats
path: root/source/ap/ghostscript/ghostscript.rev11948.diff
blob: cc45c1549bb7b07b991f270183e383ca973a97a0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
--- ./base/gximag3x.c.orig	2010-08-10 11:20:19.000000000 -0500
+++ ./base/gximag3x.c	2010-12-28 13:24:54.000000000 -0600
@@ -241,7 +241,9 @@
 	    const gs_image3x_mask_t *pixm =
 		(i == 0 ? &pim->Opacity : &pim->Shape);
 
-	    *(gs_data_image_t *)&mask[i].image = pixm->MaskDict;
+            /* Use memcpy because direct assignment breaks ANSI aliasing */
+            /* rules and causes SEGV with gcc 4.5.1 */
+            memcpy(&mask[i].image, &pixm->MaskDict, sizeof(pixm->MaskDict));
 	    mask[i].image.type = type1;
 	    mask[i].image.BitsPerComponent = pixm->MaskDict.BitsPerComponent;
 	}