Blob Blame History Raw
diff -up gutenprint-5.2.7/src/escputil/escputil.c.null-pointer gutenprint-5.2.7/src/escputil/escputil.c
--- gutenprint-5.2.7/src/escputil/escputil.c.null-pointer	2010-12-11 23:04:07.000000000 +0100
+++ gutenprint-5.2.7/src/escputil/escputil.c	2011-07-25 17:52:56.999202508 +0200
@@ -1340,10 +1340,14 @@ do_new_status(status_cmd_t cmd, char *bu
   const char *ind;
   const stp_string_list_t *color_list = NULL;
   stp_parameter_t desc;
-  const stp_vars_t *printvars = stp_printer_get_defaults(printer);
-  stp_describe_parameter(printvars, "ChannelNames", &desc);
-  if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
-    color_list = desc.bounds.str;
+  const stp_vars_t *printvars = NULL;
+  if (printer)
+    {
+      printvars = stp_printer_get_defaults(printer);
+      stp_describe_parameter(printvars, "ChannelNames", &desc);
+      if (desc.p_type == STP_PARAMETER_TYPE_STRING_LIST)
+        color_list = desc.bounds.str;
+    }
   STP_DEBUG(printf("New format bytes: %d bytes\n", bytes));
   if (cmd == CMD_STATUS)
     printf(_("Printer Name: %s\n"),
@@ -1428,7 +1432,8 @@ do_new_status(status_cmd_t cmd, char *bu
 	}
       i += total_param_count + 2;
     }
-  stp_parameter_description_destroy(&desc);
+  if (printer)
+    stp_parameter_description_destroy(&desc);
   exit(0);
 }