CVSROOT: /cvsroot/freetype Module name: freetype2 Changes by: Werner LEMBERG <wl> 06/07/08 21:31:24
Modified files: . : ChangeLog src/pcf : pcfdrivr.c pcfread.c Log message: Add many checks to protect against malformed PCF files. * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers. (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors. * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table data and check that tables don't overlap (using a simple bubblesort). (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE): New macros which give the size of data structures in the data stream. (pcf_get_properties): Use rough estimates to get array size limits. Assign `face->nprops' and `face->properties' earlier so that a call to PCF_Face_Done can do the clean-up in case of error. Protect against invalid string offsets. (pcf_get_metrics): Clean up code. Adjust tracing message levels. Use rough estimate to get array size limit. (pcf_get_bitmaps): Clean up code. Adjust tracing message levels. Use rough estimates to get offset limits. (pcf_get_encodings): Adjust tracing message level. (pcf_get_accel): Clean up code. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/freetype2/ChangeLog?cvsroot=freetype&r1=1.1357&r2=1.1358 http://cvs.savannah.gnu.org/viewcvs/freetype2/src/pcf/pcfdrivr.c?cvsroot=freetype&r1=1.26&r2=1.27 http://cvs.savannah.gnu.org/viewcvs/freetype2/src/pcf/pcfread.c?cvsroot=freetype&r1=1.56&r2=1.57 _______________________________________________ Freetype-cvs mailing list Freetype-cvs@nongnu.org http://lists.nongnu.org/mailman/listinfo/freetype-cvs