You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-gfx/fontforge/files/20170731-gethex-unaligned.p...

23 lines
510 B

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