Skip to content
  • Uli Schlachter's avatar
    Add a bounds check to cairo_cff_font_read_fdselect() · b1e81ee9
    Uli Schlachter authored
    The code in cairo-cff-subset.c parses a binary format without seeming to
    bother much with verifying the data. The result is that poppler can be
    used to cause an out-of-bounds write in cairo_cff_font_read_fdselect()
    via a crafted font file. Fix this by adding the needed length check.
    
    The other code in the file also contains lots of similar things. Since I
    cannot really fix everything properly, I'll just fix the one instance
    that was found by a fuzzer.
    
    No testcase is added, because this depends on a broken font that is
    quite large. Adding something this big to the test suite does not seem
    sensible.
    
    Fixes: cairo/cairo#451
    
    
    Signed-off-by: default avatarUli Schlachter <psychon@znc.in>
    b1e81ee9