]> granicus.if.org Git - postgresql/commitdiff
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:41 +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 9356f2592d0928ee495f54afaa78498d040fcae0..b2a4a2d3561292220ca7c0c1b680da05030ece13 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';
        }
 
        /*