From 32f052b033f12fbeb8741c9616860743b1f567c4 Mon Sep 17 00:00:00 2001 From: Garret Rieger Date: Thu, 30 Jul 2020 13:45:04 -0700 Subject: [PATCH] [ENOMEM] Fix several instances of not checking resize in CFF. --- src/hb-subset-cff-common.hh | 27 +++++++++++++++--- src/hb-subset-cff1.cc | 14 +++++++-- src/hb-subset-plan.hh | 6 ++++ ...inimized-hb-subset-fuzzer-5707809174585344 | Bin 0 -> 107592 bytes ...inimized-hb-subset-fuzzer-5708623339323392 | Bin 0 -> 151 bytes 5 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5707809174585344 create mode 100644 test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5708623339323392 diff --git a/src/hb-subset-cff-common.hh b/src/hb-subset-cff-common.hh index 340089283..422b20b8d 100644 --- a/src/hb-subset-cff-common.hh +++ b/src/hb-subset-cff-common.hh @@ -110,7 +110,11 @@ struct str_encoder_t void copy_str (const byte_str_t &str) { unsigned int offset = buff.length; - buff.resize (offset + str.length); + if (unlikely (!buff.resize (offset + str.length))) + { + set_error (); + return; + } if (unlikely (buff.length < offset + str.length)) { set_error (); @@ -412,7 +416,8 @@ struct parsed_cs_str_vec_t : hb_vector_t void init (unsigned int len_ = 0) { SUPER::init (); - resize (len_); + if (unlikely (!resize (len_))) + return; for (unsigned int i = 0; i < length; i++) (*this)[i].init (); } @@ -528,11 +533,16 @@ struct subr_remaps_t void init (unsigned int fdCount) { - local_remaps.resize (fdCount); + if (unlikely (!local_remaps.resize (fdCount))) return; for (unsigned int i = 0; i < fdCount; i++) local_remaps[i].init (); } + bool in_error() + { + return local_remaps.in_error (); + } + void create (subr_closures_t& closures) { global_remap.create (closures.global_closure); @@ -591,10 +601,19 @@ struct subr_subsetter_t parsed_charstrings.init (plan->num_output_glyphs ()); parsed_global_subrs.init (acc.globalSubrs->count); - parsed_local_subrs.resize (acc.fdCount); + + if (unlikely (remaps.in_error() + || parsed_charstrings.in_error () + || parsed_global_subrs.in_error ())) { + return false; + } + + if (unlikely (!parsed_local_subrs.resize (acc.fdCount))) return false; + for (unsigned int i = 0; i < acc.fdCount; i++) { parsed_local_subrs[i].init (acc.privateDicts[i].localSubrs->count); + if (unlikely (parsed_local_subrs[i].in_error ())) return false; } if (unlikely (!closures.valid)) return false; diff --git a/src/hb-subset-cff1.cc b/src/hb-subset-cff1.cc index f16b2533a..df322f845 100644 --- a/src/hb-subset-cff1.cc +++ b/src/hb-subset-cff1.cc @@ -406,7 +406,12 @@ struct cff_subset_plan { hb_codepoint_t code, last_code = CFF_UNDEF_CODE; hb_vector_t supp_codes; - subset_enc_code_ranges.resize (0); + if (unlikely (!subset_enc_code_ranges.resize (0))) + { + plan->check_success (false); + return; + } + supp_size = 0; supp_codes.init (); @@ -465,7 +470,12 @@ struct cff_subset_plan { unsigned int size0, size_ranges; hb_codepoint_t sid, last_sid = CFF_UNDEF_CODE; - subset_charset_ranges.resize (0); + if (unlikely (!subset_charset_ranges.resize (0))) + { + plan->check_success (false); + return; + } + unsigned int glyph; for (glyph = 1; glyph < plan->num_output_glyphs (); glyph++) { diff --git a/src/hb-subset-plan.hh b/src/hb-subset-plan.hh index 5abd84fb1..e9f603dd1 100644 --- a/src/hb-subset-plan.hh +++ b/src/hb-subset-plan.hh @@ -92,6 +92,12 @@ struct hb_subset_plan_t bool in_error () const { return !successful; } + bool check_success(bool success) + { + successful = (successful && success); + return successful; + } + /* * The set of input glyph ids which will be retained in the subset. * Does NOT include ids kept due to retain_gids. You probably want to use diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5707809174585344 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5707809174585344 new file mode 100644 index 0000000000000000000000000000000000000000..fba50e50ee554ab2bb01191cd9e5b7df08846c88 GIT binary patch literal 107592 zcmeFa2UJwo+yA@wX}}B&Wf&L9mdG_qH&o0k? z&TeO)VZe|f1Bf@tBO*zS>>SlCPK`c9Xij@VNcS$?yW1A;->{jGZiLVlZMsJF>d~^7 zeI%g=dlC|KyGPe<-Lv}Um=S(H0-WqIa6puHCgC$eb8+5pWRIw!k%eoL-X-*{GC~3e z4~S~o;@!p9en!}Fh<{wv8$E23H>^KPXh{tr-tA+PVp1zx?*5UG09+rjYEoRx1ow7# zk0R`2@Y*DJC?}*)T>mP**PE1-IrZV?ZzBoaiSIhUq?oCxvim@sqQh}el4FwMHZ_Qk z#P_3w_%BFJ$;fusF35sD-AJpW4TFNS7x0Z^-Ml_^rWrW zT&hO|Xh>kb_``ML=TA@$Vfd3rPaBBMaozE!r^wrxEJpSRIgrTiaEZcja)!tVyF?iN z^jFe{Nz#>$AuXs4zIxF^ltd3f!j~L@v=(uV^RIK)$N`AQ_VlUn@TtO5q`u<_UBOP$ z+roPgHspzrIO#Y`&-phQNA9L1giLn11)`AoF1JV;lO-;a zakI-!;oj+T3vlmuxkX|SU1g*a@ewb%{ACg#-gdba5+wfVa=Vd0$>4IklVGX7%k4oz zr4BB)?uB&qFQn`FLb_fr#A9&ABN8gPBhQ}FNa&uqDcloXZUOFems=#^(kz!-g1gM+ zmPsS&BbQqtuSt(wZa30ZZsc-%khXHN%dLAME&U5=dA^XA*Yj&VPzP7#P0njQP|{bG z87?>SrtEOJMe>Gn(B+m$q?@11Et7P&AuhK<#r=S-Trd9-N~!&`(17ixF5RQ zdeXup%;okHZ643!F_4~~nJ#}HqIy0{*O!EOe!=~rPan_6E;l7UUY;&D^6VAra*L#% z*Gn$9L~LGtU2d5)@k(^L71GRWjmzyuBD~JH-0q}>*Pkx82Wf417LV?QboDQ!3*A0X z*XxCN4A0{UMxOl)Q8!UH&3zX5je=hTXno;Q0xr$g|-WR~YEo zo0l<|x{=o216}?eq`mhdms|HjTKX5#@_ZpJuV>e~d;CkEa6i{4+|Tt1_j7&1{al}L zKi4PR&-DrSbA7`7T%T}1*C*W1^$GWLeZu`*pKw3dC)`ebc1cOiO;3oQlxb_xta-C0 z?AXHAc|ywgI9pV1MrK@6hOJj}Y)X1+N_tFY+yvW8lQJ_?+cs^Qlamt>!-7S`rX)3O z*u<8TkU7aVI4&bDJsZKgrzB_E`lAQ1U5!e~N{@}Z7Qv;hOUi^e+rab`Teqp1=`np- z(!DZc5))#ZM>K2MtQ~82+wq_*Bm%ztVnCc95ZUeDM`h!2y%Cq5k&u#X<8cm*Vvcr` zQZi#xlCy2iUyFDxqGj`TNikF6QZgq-Bqoe+5z#W@wU#YfH2e1{yV6X^u*KMr@d45HiU6K4BIhv4=fzpr9V(LM4#U$IVc8;?3 zin?aQXsB0I6Wg#}LwXJvI>a`t^Wedq`w!{WEy^}vu&v90{#|A+nK@==*YHE61MurVqPDn~kOo*EhVT+23`}YO5O+-+pj*Qf}*o27*v9`pR zhFlM+yo&hPOl*>UN~3CZ!cTo}16D
MCSjY{D^;B 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 literal 0 HcmV?d00001