diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-11-13 14:24:42 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-11-13 14:25:02 +0100 |
commit | 4a0fb276a911d5a2760818af2901c75673df5a93 (patch) | |
tree | 22fad619eef732b32b186eaa7e3f272f90795513 | |
parent | 36c40440078c005cd5e239cca487d29f6f60007d (diff) | |
download | guile-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.c | 4 |
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) |