Fail fatally if strdup fails.
diff --git a/Modules/readline.c b/Modules/readline.c
index 5e771d9..67ae04d 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -675,6 +675,8 @@
 {
 #ifdef SAVE_LOCALE
 	char *saved_locale = strdup(setlocale(LC_CTYPE, NULL));
+	if (!saved_locale)
+		Py_FatalError("not enough memory to save locale");
 #endif
 
 	using_history();
@@ -823,6 +825,8 @@
 {
 #ifdef SAVE_LOCALE
 	char *saved_locale = strdup(setlocale(LC_CTYPE, NULL));
+	if (!saved_locale)
+		Py_FatalError("not enough memory to save locale");
 	setlocale(LC_CTYPE, "");
 #endif
 	size_t n;