core/ghostscript/svn_rev11948.diff
2011-05-09 03:17:44 +02:00

17 lines
717 B
Diff

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;
}