From 41e364ec67ec3a009574db9d20d1b85a654f95ae Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 30 Jan 2014 18:10:01 -0500 Subject: [PATCH] Fix potential coredump on bad locale value in pg_upgrade. Thinko in error report (and a typo in the message text, too). We're failing anyway, but it would be good to print something useful first. Noted while reviewing a patch to make pg_upgrade's locale code laxer. --- contrib/pg_upgrade/check.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c index a706708f4d..e395c7c7f6 100644 --- a/contrib/pg_upgrade/check.c +++ b/contrib/pg_upgrade/check.c @@ -990,6 +990,7 @@ get_canonical_locale_name(int category, const char *locale) char *save; char *res; + /* get the current setting, so we can restore it. */ save = setlocale(category, NULL); if (!save) pg_fatal("failed to get the current locale\n"); @@ -1001,7 +1002,7 @@ get_canonical_locale_name(int category, const char *locale) res = setlocale(category, locale); if (!res) - pg_fatal("failed to get system local name for \"%s\"\n", res); + pg_fatal("failed to get system locale name for \"%s\"\n", locale); res = pg_strdup(res);