• Tom Lane's avatar
    Avoid multiple free_struct_lconv() calls on same data. · 907e4dd2
    Tom Lane authored
    A failure partway through PGLC_localeconv() led to a situation where
    the next call would call free_struct_lconv() a second time, leading
    to free() on already-freed strings, typically leading to a core dump.
    Add a flag to remember whether we need to do that.
    
    Per report from Thom Brown.  His example case only provokes the failure
    as far back as 9.4, but nonetheless this code is obviously broken, so
    back-patch to all supported branches.
    907e4dd2
pg_locale.c 40.2 KB