• Tom Lane's avatar
    Fix cache flush hazard in cache_record_field_properties(). · e262755b
    Tom Lane authored
    We need to increment the refcount on the composite type's cached tuple
    descriptor while we do lookups of its column types.  Otherwise a cache
    flush could occur and release the tuple descriptor before we're done with
    it.  This fails reliably with -DCLOBBER_CACHE_ALWAYS, but the odds of a
    failure in a production build seem rather low (since the pfree'd descriptor
    typically wouldn't get scribbled on immediately).  That may explain the
    lack of any previous reports.  Buildfarm issue noted by Christian Ullrich.
    
    Back-patch to 9.1 where the bogus code was added.
    e262755b
typcache.c 37.1 KB