summaryrefslogtreecommitdiff
path: root/libre/ghostscript-libre/svn_rev11948.diff
blob: 92abb0d98467b498807ea1f418c7f71588dedb42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Modified: trunk/gs/base/gximag3x.c
===================================================================
--- trunk/gs/base/gximag3x.c	2010-12-10 19:50:53 UTC (rev 11947)
+++ trunk/gs/base/gximag3x.c	2010-12-11 23:02:25 UTC (rev 11948)
@@ -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;
 	}