Merged revisions 76625 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76625 | amaury.forgeotdarc | 2009-12-01 22:51:04 +0100 (mar., 01 déc. 2009) | 3 lines

  #7419: Fix a crash on Windows in locale.setlocale() when the category
  is outside the allowed range.
........
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index fa6ab8f..aabc3ac 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -133,6 +133,14 @@
     if (!PyArg_ParseTuple(args, "i|z:setlocale", &category, &locale))
         return NULL;
 
+#if defined(MS_WINDOWS)
+    if (category < LC_MIN || category > LC_MAX)
+    {
+        PyErr_SetString(Error, "invalid locale category");
+        return NULL;
+    }
+#endif
+
     if (locale) {
         /* set locale */
         result = setlocale(category, locale);