From: Tom Lane Date: Thu, 30 Jan 2014 23:10:01 +0000 (-0500) Subject: Fix potential coredump on bad locale value in pg_upgrade. X-Git-Tag: REL9_4_BETA1~575 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=41e364ec67ec3a009574db9d20d1b85a654f95ae;p=thirdparty%2Fpostgresql.git 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. --- diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c index a706708f4d2..e395c7c7f62 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);