• Tom Lane's avatar
    Ensure ParseTzFile() closes the input file after failing. · c47a5585
    Tom Lane authored
    We hadn't noticed this because (a) few people feed invalid
    timezone abbreviation files to the server, and (b) in typical
    scenarios guc.c would throw ereport(ERROR) and then transaction
    abort handling would silently clean up the leaked file reference.
    However, it was possible to observe file leakage warnings if one
    breaks an already-active abbreviation file, because guc.c does
    not throw ERROR when loading supposedly-validated settings during
    session start or SIGHUP processing.
    
    Report and fix by Kyotaro Horiguchi (cosmetic adjustments by me)
    
    Discussion: https://postgr.es/m/20220530.173740.748502979257582392.horikyota.ntt@gmail.com
    c47a5585
tzparser.c 12.1 KB