• jbroman's avatar
    ValueSerializer: Add more checks before trying to allocate memory for a dense array. · 0004733c
    jbroman authored
    Found with libfuzzer. The length is automatically converted to int (thus
    large sizes could become negative, even though they are legal "array sizes").
    Besides that, the length is coerced to a SMI (which is an even tighter
    constraint on 32-bit systems, where it limits the legal sizes to 2^30 - 1).
    
    Add checks that the length of a dense array is below that threshold, and also
    fail fast if a length that is provided obviously could not be the correct dense
    length (because there isn't enough data left in the buffer to populate such an
    array).
    
    BUG=chromium:148757
    
    Review-Url: https://codereview.chromium.org/2399873002
    Cr-Commit-Position: refs/heads/master@{#40094}
    0004733c
value-serializer.cc 61.9 KB