diff --git a/ChangeLog b/ChangeLog index 54c49b0e7..07cb466d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-08-04 Suzuki, Toshiya (鈴木俊哉) + + [cff] Improve stack overflow test. + + * src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack + after execution of operations too. + 2010-07-18 Werner Lemberg Add reference counters and to FT_Library and FT_Face objects. diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c index 347041cfe..887c87978 100644 --- a/src/cff/cffgload.c +++ b/src/cff/cffgload.c @@ -2455,7 +2455,10 @@ return CFF_Err_Unimplemented_Feature; } - decoder->top = args; + decoder->top = args; + + if ( decoder->top - stack >= CFF_MAX_OPERANDS ) + goto Stack_Overflow; } /* general operator processing */