Restore fullname[] contents before falling through in pg_open_tzfile().
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 7 May 2017 15:34:31 +0000 (11:34 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 7 May 2017 15:34:31 +0000 (11:34 -0400)
Fix oversight in commit af2c5aa88: if the shortcut open() doesn't work,
we need to reset fullname[] to be just the name of the toplevel tzdata
directory before we fall through into the pre-existing code.  This failed
to be exposed in my (tgl's) testing because the fall-through path is
actually never taken under normal circumstances.

David Rowley, per report from Amit Kapila

Discussion: https://postgr.es/m/CAA4eK1LC7CaNhRAQ__C3ht1JVrPzaAXXhEJRnR5L6bfYHiLmWw@mail.gmail.com

src/timezone/pgtz.c

index 31dbf8993b1dde208910a755df122c02e49d49e1..846f8898ffb6545261fb21a3d4eacaea12890854 100644 (file)
@@ -105,6 +105,7 @@ pg_open_tzfile(const char *name, char *canonname)
        if (result >= 0)
            return result;
        /* If that didn't work, fall through to do it the hard way */
+       fullname[fullnamelen] = '\0';
    }
 
    /*