aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-08-08 23:39:14 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-08-08 23:39:14 +0000
commit1c09a3c46db964033969e3916d70ac67d387a9ca (patch)
treecdee6ab0f0e8898166e4b84f95565bb2fdf201ee
parent4cf0feae2ca4d722cd33cfbdd35651625c81748e (diff)
downloadpostgresql-1c09a3c46db964033969e3916d70ac67d387a9ca.tar.gz
postgresql-1c09a3c46db964033969e3916d70ac67d387a9ca.zip
Fix crash when reading 'timezone = unknown' from postgresql.conf during
SIGHUP; it's not OK for an assign_hook to return a non-malloc'd string. Problem was introduced during timezone library rewrite.
-rw-r--r--src/backend/commands/variable.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c
index a7c2731819d..30173e4cabd 100644
--- a/src/backend/commands/variable.c
+++ b/src/backend/commands/variable.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/commands/variable.c,v 1.105.4.1 2005/06/05 01:48:45 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/commands/variable.c,v 1.105.4.2 2005/08/08 23:39:14 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -325,10 +325,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_current_timezone();
+ if (doit)
+ {
+ const char *curzone = pg_get_current_timezone();
- if (curzone)
- value = curzone;
+ if (curzone)
+ value = curzone;
+ }
}
else
{