]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix crash when reading 'timezone = unknown' from postgresql.conf during
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 8 Aug 2005 23:39:01 +0000 (23:39 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 8 Aug 2005 23:39:01 +0000 (23:39 +0000)
SIGHUP; it's not OK for an assign_hook to return a non-malloc'd string.
Problem was introduced during timezone library rewrite.

src/backend/commands/variable.c

index 9254d57e345bcaf99727be68cd3cc4106e420865..845c59625d6a1aebc51913fc455e3eb87e67ac0b 100644 (file)
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/commands/variable.c,v 1.112 2005/07/25 22:12:32 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/commands/variable.c,v 1.113 2005/08/08 23:39:01 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -346,10 +346,13 @@ assign_timezone(const char *value, bool doit, GucSource source)
                         * pg_timezone_initialize() will eventually select a default
                         * value from the environment.
                         */
-                       const char *curzone = pg_get_timezone_name(global_timezone);
+                       if (doit)
+                       {
+                               const char *curzone = pg_get_timezone_name(global_timezone);
 
-                       if (curzone)
-                               value = curzone;
+                               if (curzone)
+                                       value = curzone;
+                       }
                }
                else
                {