gutenprint/gutenprint-null-pointer.patch
2011-07-25 18:04:48 +02:00

33 lines
1.3 KiB
Diff

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);
}