19 lines
848 B
Diff
19 lines
848 B
Diff
|
diff --git a/devices/gdev3852.c b/devices/gdev3852.c
|
||
|
index e21b403..2bee8ec 100644
|
||
|
--- a/devices/gdev3852.c
|
||
|
+++ b/devices/gdev3852.c
|
||
|
@@ -76,6 +76,13 @@ jetp3852_print_page(gx_device_printer *pdev, FILE *prn_stream)
|
||
|
{ int lnum;
|
||
|
int line_size = gdev_mem_bytes_per_scan_line((gx_device *)pdev);
|
||
|
int num_blank_lines = 0;
|
||
|
+
|
||
|
+ if (line_size > DATA_SIZE) {
|
||
|
+ emprintf2(pdev->memory, "invalid resolution and/or width gives line_size = %d, max. is %d\n",
|
||
|
+ line_size, DATA_SIZE);
|
||
|
+ return_error(gs_error_rangecheck);
|
||
|
+ }
|
||
|
+
|
||
|
for ( lnum = 0; lnum < pdev->height; lnum++ )
|
||
|
{ byte *end_data = data + line_size;
|
||
|
gdev_prn_copy_scan_lines(pdev, lnum,
|