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