s4-libcli: Check if short_name is not null, before converting to python string
authorAmitay Isaacs <amitay@gmail.com>
Tue, 2 Aug 2011 06:07:43 +0000 (16:07 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 3 Aug 2011 04:26:02 +0000 (14:26 +1000)
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
source4/libcli/pysmb.c

index ccd765634a26a63fdd15d926ccd31bf8e7803241..43478ea5a801185cc362f57fb0f90865e20cb72a 100644 (file)
@@ -165,7 +165,14 @@ static void py_smb_list_callback(struct clilist_file_info *f, const char *mask,
                dict = PyDict_New();
                if(dict) {
                        PyDict_SetItemString(dict, "name", PyString_FromString(f->name));
-                       PyDict_SetItemString(dict, "short_name", PyString_FromString(f->short_name));
+                       
+                       /* Windows does not always return short_name */
+                       if (f->short_name) {
+                               PyDict_SetItemString(dict, "short_name", PyString_FromString(f->short_name));
+                       } else {
+                               PyDict_SetItemString(dict, "short_name", Py_None);
+                       }
+
                        PyDict_SetItemString(dict, "size", PyLong_FromUnsignedLongLong(f->size));
                        PyDict_SetItemString(dict, "attrib", PyInt_FromLong(f->attrib));
                        PyDict_SetItemString(dict, "mtime", PyInt_FromLong(f->mtime));