diff -r 4ff37fbcd4e8 Modules/readline.c --- a/Modules/readline.c Wed Apr 23 15:37:37 2014 -0500 +++ b/Modules/readline.c Wed Apr 30 15:22:32 2014 +0800 @@ -972,7 +972,13 @@ setup_readline(readlinestate *mod_state) { #ifdef SAVE_LOCALE - char *saved_locale = strdup(setlocale(LC_CTYPE, NULL)); + char *_locale = setlocale(LC_CTYPE, NULL); + char *saved_locale; + + if(!_locale) + _locale = ""; + + saved_locale = strdup(_locale); if (!saved_locale) Py_FatalError("not enough memory to save locale"); #endif