• Noah Misch's avatar
    Predict integer overflow to avoid buffer overruns. · 31400a67
    Noah Misch authored
    Several functions, mostly type input functions, calculated an allocation
    size such that the calculation wrapped to a small positive value when
    arguments implied a sufficiently-large requirement.  Writes past the end
    of the inadvertent small allocation followed shortly thereafter.
    Coverity identified the path_in() vulnerability; code inspection led to
    the rest.  In passing, add check_stack_depth() to prevent stack overflow
    in related functions.
    
    Back-patch to 8.4 (all supported versions).  The non-comment hstore
    changes touch code that did not exist in 8.4, so that part stops at 9.0.
    
    Noah Misch and Heikki Linnakangas, reviewed by Tom Lane.
    
    Security: CVE-2014-0064
    31400a67
tsquery_util.c 8.18 KB