Nalin Dahyabhai b64d92
--- cracklib-2.8.9/python/cracklibmodule.c	2007-01-25 12:16:30.000000000 -0500
Nalin Dahyabhai b64d92
+++ cracklib-2.8.9/python/cracklibmodule.c	2007-01-25 12:16:32.000000000 -0500
Nalin Dahyabhai b64d92
@@ -19,6 +19,8 @@
Nalin Dahyabhai b64d92
 #define UNLOCK()
Nalin Dahyabhai b64d92
 #endif
Nalin Dahyabhai b64d92
 
Nalin Dahyabhai b64d92
+#define DICT_SUFFIX ".pwd"
Nalin Dahyabhai b64d92
+
Nalin Dahyabhai b64d92
 static PyObject *
Nalin Dahyabhai b64d92
 cracklib_FascistCheck(PyObject *self, PyObject *args, PyObject *kwargs)
Nalin Dahyabhai b64d92
 {
Nalin Dahyabhai b64d92
@@ -27,6 +29,7 @@
Nalin Dahyabhai b64d92
     const char *result;
Nalin Dahyabhai b64d92
     struct stat st;
Nalin Dahyabhai b64d92
     char *keywords[] = {"pw", "dictpath", NULL};
Nalin Dahyabhai b64d92
+    char *dictfile;
Nalin Dahyabhai b64d92
 
Nalin Dahyabhai b64d92
     self = NULL;
Nalin Dahyabhai b64d92
     candidate = NULL;
Nalin Dahyabhai b64d92
@@ -52,14 +55,23 @@
Nalin Dahyabhai b64d92
                             "second argument was not an absolute path!");
Nalin Dahyabhai b64d92
             return NULL;
Nalin Dahyabhai b64d92
         }
Nalin Dahyabhai b64d92
-        if (lstat(dict, &st) == -1)
Nalin Dahyabhai b64d92
+        dictfile = malloc(strlen(dict) + sizeof(DICT_SUFFIX));
Nalin Dahyabhai b64d92
+        if (dictfile == NULL)
Nalin Dahyabhai b64d92
+        {
Nalin Dahyabhai b64d92
+            PyErr_SetFromErrnoWithFilename(PyExc_OSError, dict);
Nalin Dahyabhai b64d92
+            return NULL;
Nalin Dahyabhai b64d92
+        }
Nalin Dahyabhai b64d92
+        sprintf(dictfile, "%s" DICT_SUFFIX, dict);
Nalin Dahyabhai b64d92
+        if (lstat(dictfile, &st) == -1)
Nalin Dahyabhai b64d92
         {
Nalin Dahyabhai b64d92
             PyErr_SetFromErrnoWithFilename(PyExc_OSError, dict);
Nalin Dahyabhai b64d92
+            free(dictfile);
Nalin Dahyabhai b64d92
             return NULL;
Nalin Dahyabhai b64d92
         }
Nalin Dahyabhai b64d92
+        free(dictfile);
Nalin Dahyabhai b64d92
     } else
Nalin Dahyabhai b64d92
     {
Nalin Dahyabhai b64d92
-        if (lstat(DEFAULT_CRACKLIB_DICT ".pwd", &st) == -1)
Nalin Dahyabhai b64d92
+        if (lstat(DEFAULT_CRACKLIB_DICT DICT_SUFFIX, &st) == -1)
Nalin Dahyabhai b64d92
         {
Nalin Dahyabhai b64d92
             PyErr_SetFromErrnoWithFilename(PyExc_OSError,
Nalin Dahyabhai b64d92
                                            DEFAULT_CRACKLIB_DICT);