Re: bug found in parsettf.c:_readencstring()
Frank Trampe <[email protected]>
| Newsgroups | gmane.comp.fonts.fontforge.devel |
|---|---|
| Message-ID | <CANkSbhohCA+76TU89qbXVz9kNHquzHveTsNHKZqMSm=89i0t-A@mail.gmail.com> |
The fix is now merged. Thanks very much to Norbert for reporting this. Best wishes, Frank On Wed, Aug 13, 2014 at 9:52 PM, Dave Crossland <[email protected]> wrote: > Thanks Norbert!! We moved a lot of these discussions to Github, please do > report such things there in future :) > On 24 Jul 2014 09:30, "Janssen, Norbert" <[email protected]> wrote: > >> In the file parsettf.c: >> >> static char *_readencstring(FILE *ttf,int offset,int len, >> >> int platform,int specific,int language) { >> >> long pos = ftell(ttf); >> >> unichar_t *str, *pt; >> >> char *ret; >> >> int i, ch; >> >> Encoding *enc; >> >> >> >> fseek(ttf,offset,SEEK_SET); >> >> >> >> if ( platform==1 ) { >> >> /* Mac is screwy, there are several different >> varients of MacRoman */ >> >> /* depending on the language, they didn't get it >> right when they */ >> >> /* invented their script system */ >> >> char *cstr, *cpt; >> >> cstr = cpt = galloc(len+1); >> >> for ( i=0; i<len; ++i ) >> >> *cpt++ = getc(ttf); >> >> *cpt = '\0'; >> >> ret = MacStrToUtf8(cstr,specific,language); >> >> free(cstr); >> >> } else { >> >> enc = enc_from_platspec(platform,specific); >> >> if (enc == NULL) >> >> { >> >> fseek(ttf, pos, SEEK_SET); <ç this >> is missing. >> >> return(NULL); >> >> } >> >> >> >> When checking a truetype font (HGGBAGS.TTF e.g. with platformId=3 and >> specificId=2) the enc_from_platspec() returns a NULL. >> Thus _readencstring() will return without resetting the readptr >> >> >> >> >> >> _readencstring is used in TTFAddLangStr(), which is used in >> readttfcopyrights(). >> >> Readttfcopyrights() iterates over the name-table entries. But if an >> unsupported plat/spec combination is found, >> >> It messes up the readptr in the truetypefile. >> >> -- >> >> *Norbert Janssen* >> Software Engineer • (SD-1 R&D) >> >> Océ-Technologies B.V. • A Canon Group Company >> P.O. Box 101 • 5900 MA Venlo >> >> St. Urbanusweg 43 • 5914 CA Venlo • The Netherlands >> T +31 (0)77 359 3599 M +31 (0)6 3375 4843 F +31 (0)77 359 5473 >> E* [email protected] <[email protected]>* W www.oce.com >> >> Océ enables its customers to manage their documents efficiently and >> effectively by offering innovative print and document management products >> and services for professional environments. >> >> Trade Register: 12002662 >> >> >> This message and attachment(s) are intended solely for use by the >> addressee and may contain information that is privileged, confidential or >> otherwise exempt from disclosure under applicable law. If you are not the >> intended recipient or agent thereof responsible for delivering this message >> to the intended recipient, you are hereby notified that any dissemination, >> distribution or copying of this communication is strictly prohibited. If >> you have received this communication in error, please notify the sender >> immediately by telephone and with a 'reply' message. Thank you for your >> co-operation. >> >> >> ------------------------------------------------------------------------------ >> Want fast and easy access to all the code in your enterprise? Index and >> search up to 200,000 lines of code with a free copy of Black Duck >> Code Sight - the same software that powers the world's largest code >> search on Ohloh, the Black Duck Open Hub! Try it now. >> http://p.sf.net/sfu/bds >> _______________________________________________ >> Fontforge-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/fontforge-devel >> >> > > ------------------------------------------------------------------------------ > > _______________________________________________ > Fontforge-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/fontforge-devel > > ------------------------------------------------------------------------------ _______________________________________________ Fontforge-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fontforge-devel