summaryrefslogtreecommitdiff
path: root/extra/ghostscript/svn_rev11948.diff
diff options
context:
space:
mode:
Diffstat (limited to 'extra/ghostscript/svn_rev11948.diff')
-rw-r--r--extra/ghostscript/svn_rev11948.diff16
1 files changed, 16 insertions, 0 deletions
diff --git a/extra/ghostscript/svn_rev11948.diff b/extra/ghostscript/svn_rev11948.diff
new file mode 100644
index 000000000..92abb0d98
--- /dev/null
+++ b/extra/ghostscript/svn_rev11948.diff
@@ -0,0 +1,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;
+ }
+