summaryrefslogtreecommitdiff
path: root/src/backend/commands/variable.c
diff options
context:
space:
mode:
authorTom Lane2005-08-08 23:39:14 +0000
committerTom Lane2005-08-08 23:39:14 +0000
commita7b4bc835d436cf3efe7b7ec1127407d1fc745cf (patch)
treeaa373c3ad7ac27f9ac02bedc4184b9a79f930cc1 /src/backend/commands/variable.c
parentcfbf3455e36eff11a34d4ee5c09ba32eeb3c8821 (diff)
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.
Diffstat (limited to 'src/backend/commands/variable.c')
-rw-r--r--src/backend/commands/variable.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c
index b975b6f45f..e55bb84cdf 100644
--- a/src/backend/commands/variable.c
+++ b/src/backend/commands/variable.c
@@ -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
{