1 |
commit: 521efc21ffc6e32dd4b14c15f3386d837817610d |
2 |
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Dec 30 22:45:38 2017 +0000 |
4 |
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Dec 30 22:46:03 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=521efc21 |
7 |
|
8 |
media-gfx/fontforge: fix misaligned memory access |
9 |
|
10 |
Patch by Rolf Eike Beer. |
11 |
|
12 |
Closes: https://bugs.gentoo.org/642756 |
13 |
Package-Manager: Portage-2.3.19_p3, Repoman-2.3.6_p37 |
14 |
|
15 |
.../files/20170731-gethex-unaligned.patch | 22 ++++++++++++++++++++++ |
16 |
...0731-r2.ebuild => fontforge-20170731-r3.ebuild} | 1 + |
17 |
2 files changed, 23 insertions(+) |
18 |
|
19 |
diff --git a/media-gfx/fontforge/files/20170731-gethex-unaligned.patch b/media-gfx/fontforge/files/20170731-gethex-unaligned.patch |
20 |
new file mode 100644 |
21 |
index 00000000000..812f7a44472 |
22 |
--- /dev/null |
23 |
+++ b/media-gfx/fontforge/files/20170731-gethex-unaligned.patch |
24 |
@@ -0,0 +1,22 @@ |
25 |
+fix unaligned access in gethex() |
26 |
+ |
27 |
+--- a/fontforge/sfd.c |
28 |
++++ b/fontforge/sfd.c |
29 |
+@@ -3393,6 +3393,7 @@ |
30 |
+ static int gethex(FILE *sfd, uint32 *val) { |
31 |
+ char tokbuf[100]; int ch; |
32 |
+ char *pt=tokbuf, *end = tokbuf+100-2; |
33 |
++ uint32 u; |
34 |
+ |
35 |
+ while ( isspace(ch = nlgetc(sfd))); |
36 |
+ if ( ch=='#' ) |
37 |
+@@ -3416,7 +3417,8 @@ |
38 |
+ } |
39 |
+ *pt='\0'; |
40 |
+ ungetc(ch,sfd); |
41 |
+- *val = strtoul(tokbuf,NULL,16); |
42 |
++ u = strtoul(tokbuf,NULL,16); |
43 |
++ memcpy(val, &u, sizeof(u)); |
44 |
+ return( pt!=tokbuf?1:ch==EOF?-1: 0 ); |
45 |
+ } |
46 |
+ |
47 |
|
48 |
diff --git a/media-gfx/fontforge/fontforge-20170731-r2.ebuild b/media-gfx/fontforge/fontforge-20170731-r3.ebuild |
49 |
similarity index 98% |
50 |
rename from media-gfx/fontforge/fontforge-20170731-r2.ebuild |
51 |
rename to media-gfx/fontforge/fontforge-20170731-r3.ebuild |
52 |
index c8ad245b14d..ae146eb0647 100644 |
53 |
--- a/media-gfx/fontforge/fontforge-20170731-r2.ebuild |
54 |
+++ b/media-gfx/fontforge/fontforge-20170731-r3.ebuild |
55 |
@@ -65,6 +65,7 @@ S="${WORKDIR}/fontforge-2.0.${PV}" |
56 |
PATCHES=( |
57 |
"${FILESDIR}"/20170731-startnoui-FindOrMakeEncoding.patch |
58 |
"${FILESDIR}"/20170731-tilepath.patch |
59 |
+ "${FILESDIR}"/20170731-gethex-unaligned.patch |
60 |
) |
61 |
|
62 |
pkg_setup() { |