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