diff options
| author | Tom Lane | 2005-08-08 23:39:14 +0000 |
|---|---|---|
| committer | Tom Lane | 2005-08-08 23:39:14 +0000 |
| commit | a7b4bc835d436cf3efe7b7ec1127407d1fc745cf (patch) | |
| tree | aa373c3ad7ac27f9ac02bedc4184b9a79f930cc1 /src/backend/commands/variable.c | |
| parent | cfbf3455e36eff11a34d4ee5c09ba32eeb3c8821 (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.c | 9 |
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 { |
