media-gfx/fontforge: replace memory alignment patch
authorMike Gilbert <floppym@gentoo.org>
Sun, 29 Mar 2020 20:42:02 +0000 (16:42 -0400)
committerMike Gilbert <floppym@gentoo.org>
Sun, 29 Mar 2020 20:42:02 +0000 (16:42 -0400)
Package-Manager: Portage-2.3.96_p4, Repoman-2.3.22_p1
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
media-gfx/fontforge/files/20200314-stylemap.patch [new file with mode: 0644]
media-gfx/fontforge/fontforge-20200314.ebuild

diff --git a/media-gfx/fontforge/files/20200314-stylemap.patch b/media-gfx/fontforge/files/20200314-stylemap.patch
new file mode 100644 (file)
index 0000000..d3311ca
--- /dev/null
@@ -0,0 +1,30 @@
+From 3b83adc89771000eb95fcd87bb675f771ba85aaf Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 29 Mar 2020 16:36:14 -0400
+Subject: [PATCH] Avoid integer size conflict when setting stylemap
+
+stylemap is a 16-bit integer, but hexmap writes 32-bits.
+
+Bug: https://bugs.gentoo.org/642756
+---
+ fontforge/sfd.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/fontforge/sfd.c b/fontforge/sfd.c
+index 9517d8cb1..b638fe447 100644
+--- a/fontforge/sfd.c
++++ b/fontforge/sfd.c
+@@ -8104,7 +8104,9 @@ bool SFD_GetFontMetaData( FILE *sfd,
+     }
+     else if ( strmatch(tok,"StyleMap:")==0 )
+     {
+-    gethex(sfd,(uint32 *)&sf->pfminfo.stylemap);
++      uint32 u;
++      gethex(sfd,&u);
++      sf->pfminfo.stylemap = u;
+     }
+     /* Legacy attribute for StyleMap. Deprecated. */
+     else if ( strmatch(tok,"OS2StyleName:")==0 )
+-- 
+2.26.0.rc2
+
index 6ff768243eefad9d77982026ed1fdf12b624ff17..adb0670b3bbf5ad98a2626960bcfbdd6ef26d39a 100644 (file)
@@ -56,7 +56,7 @@ BDEPEND="
 "
 
 PATCHES=(
-       "${FILESDIR}"/20170731-gethex-unaligned.patch
+       "${FILESDIR}"/20200314-stylemap.patch
        "${FILESDIR}"/20200314-tilepath.patch
 )