summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-11-13 14:24:42 +0100
committerLudovic Courtès <ludo@gnu.org>2013-11-13 14:25:02 +0100
commit4a0fb276a911d5a2760818af2901c75673df5a93 (patch)
tree22fad619eef732b32b186eaa7e3f272f90795513
parent36c40440078c005cd5e239cca487d29f6f60007d (diff)
downloadguile-4a0fb276a911d5a2760818af2901c75673df5a93.tar.gz
i18n: Fix null pointer dereference when locale info is missing.
* libguile/i18n.c (scm_nl_langinfo): Check whether C_RESULT is NULL before calling 'strdup'.
-rw-r--r--libguile/i18n.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libguile/i18n.c b/libguile/i18n.c
index dc6d07d12..0f607f331 100644
--- a/libguile/i18n.c
+++ b/libguile/i18n.c
@@ -1535,7 +1535,9 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinfo", 1, 1, 0,
codeset = nl_langinfo (CODESET);
}
- c_result = strdup (c_result);
+ if (c_result != NULL)
+ c_result = strdup (c_result);
+
unlock_locale_mutex ();
if (c_result == NULL)