gutenprint/gutenprint-null-pointer.patch

31 lines
1.3 KiB
Diff
Raw Normal View History

diff -up gutenprint-5.2.6/src/escputil/escputil.c.null-pointer gutenprint-5.2.6/src/escputil/escputil.c
--- gutenprint-5.2.6/src/escputil/escputil.c.null-pointer 2009-12-23 21:13:54.000000000 +0100
+++ gutenprint-5.2.6/src/escputil/escputil.c 2010-12-02 13:05:58.000000000 +0100
@@ -1313,10 +1313,8 @@ 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;
+
STP_DEBUG(fprintf(stderr, "New format bytes: %d bytes\n", bytes));
if (cmd == CMD_STATUS)
printf(_("Printer Name: %s\n"),
@@ -1373,6 +1371,13 @@ do_new_status(status_cmd_t cmd, char *bu
for (j = 0; j < total_param_count; j++)
{
param = (unsigned) buf[i + j + 2];
+ 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;
+ }
print_warning(param, color_list);
}
break;