• Andrew Gierth's avatar
    Fix array size allocation for HashAggregate hash keys. · 44e95b57
    Andrew Gierth authored
    When there were duplicate columns in the hash key list, the array
    sizes could be miscomputed, resulting in access off the end of the
    array. Adjust the computation to ensure the array is always large
    enough.
    
    (I considered whether the duplicates could be removed in planning, but
    I can't rule out the possibility that duplicate columns might have
    different hash functions assigned. Simpler to just make sure it works
    at execution time regardless.)
    
    Bug apparently introduced in fc4b3dea as part of narrowing down the
    tuples stored in the hashtable. Reported by Colm McHugh of Salesforce,
    though I didn't use their patch. Backpatch back to version 10 where
    the bug was introduced.
    
    Discussion: https://postgr.es/m/CAFeeJoKKu0u+A_A9R9316djW-YW3-+Gtgvy3ju655qRHR3jtdA@mail.gmail.com
    44e95b57
nodeAgg.c 116 KB