diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-08-08 23:39:14 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-08-08 23:39:14 +0000 |
commit | 1c09a3c46db964033969e3916d70ac67d387a9ca (patch) | |
tree | cdee6ab0f0e8898166e4b84f95565bb2fdf201ee | |
parent | 4cf0feae2ca4d722cd33cfbdd35651625c81748e (diff) | |
download | postgresql-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.c | 11 |
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 { |