summaryrefslogtreecommitdiff
path: root/media-gfx/fontforge/files/20170731-gethex-unaligned.patch
blob: 812f7a444721e4bb38d7a0fdfc6082ed33ad06ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
fix unaligned access in gethex()

--- a/fontforge/sfd.c
+++ b/fontforge/sfd.c
@@ -3393,6 +3393,7 @@
 static int gethex(FILE *sfd, uint32 *val) {
     char tokbuf[100]; int ch;
     char *pt=tokbuf, *end = tokbuf+100-2;
+    uint32 u;
 
     while ( isspace(ch = nlgetc(sfd)));
     if ( ch=='#' )
@@ -3416,7 +3417,8 @@
     }
     *pt='\0';
     ungetc(ch,sfd);
-    *val = strtoul(tokbuf,NULL,16);
+    u = strtoul(tokbuf,NULL,16);
+    memcpy(val, &u, sizeof(u));
 return( pt!=tokbuf?1:ch==EOF?-1: 0 );
 }