• Tom Lane's avatar
    Clean up some stuff in new contrib/bloom module. · a9284849
    Tom Lane authored
    Coverity complained about implicit sign-extension in the
    BloomPageGetFreeSpace macro, probably because sizeOfBloomTuple isn't wide
    enough for size calculations.  No overflow is really possible as long as
    maxoff and sizeOfBloomTuple are small enough to represent a realistic
    situation, but it seems like a good idea to declare sizeOfBloomTuple as
    Size not int32.
    
    Add missing check on BloomPageAddItem() result, again from Coverity.
    
    Avoid core dump due to not allocating so->sign array when
    scan->numberOfKeys is zero.  Also thanks to Coverity.
    
    Use FLEXIBLE_ARRAY_MEMBER rather than declaring an array as size 1
    when it isn't necessarily.
    
    Very minor beautification of related code.
    
    Unfortunately, none of the Coverity-detected mistakes look like they
    could account for the remaining buildfarm unhappiness with this
    module.  It's barely possible that the FLEXIBLE_ARRAY_MEMBER mistake
    does account for that, if it's enabling bogus compiler optimizations;
    but I'm not terribly optimistic.  We probably still have bugs to
    find here.
    a9284849
blscan.c 3.47 KB