• Jeff Davis's avatar
    Fix assign_record_type_typmod(). · 10a07973
    Jeff Davis authored
    If an error occurred in the wrong place, it was possible to leave an
    unintialized entry in the hash table, leading to a crash. Fixed.
    
    Also, be more careful about the order of operations so that an
    allocation error doesn't leak memory in CacheMemoryContext or
    unnecessarily advance NextRecordTypmod.
    
    Backpatch through version 11. Earlier versions (prior to 35ea7563)
    do not exhibit the problem, because an uninitialized hash entry
    contains a valid empty list.
    
    Author: Sait Talha Nisanci <Sait.Nisanci@microsoft.com>
    Reviewed-by: Andres Freund
    Discussion: https://postgr.es/m/HE1PR8303MB009069D476225B9A9E194B8891779@HE1PR8303MB0090.EURPRD83.prod.outlook.com
    Backpatch-through: 11
    10a07973
typcache.c 88.7 KB