diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c index 572fda99ab8c440b9266e476d1a253877596db9c..2f83e97db7349c3f60e8287474b8bb55bc300d81 100644 --- a/src/syncterm/ripper.c +++ b/src/syncterm/ripper.c @@ -13844,12 +13844,20 @@ do_rip_command(int level, int sublevel, int cmd, const char *rawargs) break; } pix->width = tmp + 1; + if (pix->width < 1) + pix->width = 1; + if (pix->width > 65536) + pix->width = 65536; if (fread(&tmp, sizeof(tmp), 1, icn) != 1) { free(pix); fclose(icn); break; } pix->height = tmp + 1; + if (pix->height < 1) + pix->height = 1; + if (pix->height > 65536) + pix->height = 65536; if ((x1 + rip.viewport.sx + pix->width - 1 > rip.viewport.ex) || (y1 + rip.viewport.sy + pix->height - 1