Fixed crash bug in display_print_info_1()
[ira/wip.git] / source3 / rpcclient / cmd_spoolss.c
index f36669a77735a20e31bfb926648199ec7b39dd71..74601563f2e45ec6952f5a655250fa64ba27d763 100644 (file)
@@ -184,9 +184,19 @@ static void display_print_info_1(PRINTER_INFO_1 *i1)
        fstring name;
        fstring comm;
 
-       rpcstr_pull(desc, i1->description.buffer, sizeof(desc), 0, STR_TERMINATE);
-       rpcstr_pull(name, i1->name.buffer, sizeof(name), 0, STR_TERMINATE);
-       rpcstr_pull(comm, i1->comment.buffer, sizeof(comm), 0, STR_TERMINATE);
+       desc[0] = name[0] = comm[0] = 0;
+
+       if (i1->description.buffer)
+               rpcstr_pull(desc, i1->description.buffer, sizeof(desc), 0, 
+                           STR_TERMINATE);
+
+       if (i1->name.buffer)
+               rpcstr_pull(name, i1->name.buffer, sizeof(name), 0, 
+                           STR_TERMINATE);
+
+       if (i1->comment.buffer)
+               rpcstr_pull(comm, i1->comment.buffer, sizeof(comm), 0, 
+                           STR_TERMINATE);
 
        printf("\tflags:[0x%x]\n", i1->flags);
        printf("\tname:[%s]\n", name);