Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:GA
xterm.32862
xterm-CVE-2022-24130.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xterm-CVE-2022-24130.patch of Package xterm.32862
From 24681da346c496f7fdf1ae227c7ae2656115d298 Mon Sep 17 00:00:00 2001 From: "Thomas E. Dickey" <dickey@invisible-island.net> Date: Sun, 30 Jan 2022 19:31:01 +0000 Subject: [PATCH] snapshot of project "xterm", label xterm-370d --- graphics_sixel.c | 26 +++++++---- Index: xterm-330/graphics_sixel.c =================================================================== --- xterm-330.orig/graphics_sixel.c +++ xterm-330/graphics_sixel.c @@ -141,7 +141,11 @@ init_sixel_background(Graphic *graphic, graphic->color_registers_used[context->background] = 1; } -static void +#define ValidColumn(graphic, context) \ + ((context)->col >= 0 && \ + (context)->col < (graphic)->max_width) + +static Boolean set_sixel(Graphic *graphic, SixelContext const *context, int sixel) { const int mh = graphic->max_height; @@ -175,8 +179,10 @@ set_sixel(Graphic *graphic, SixelContext } } else { TRACE(("sixel pixel %d out of bounds\n", pix)); + return False; } } + return True; } static void @@ -451,7 +457,13 @@ parse_sixel(XtermWidget xw, ANSI *params init_sixel_background(graphic, &context); graphic->valid = 1; } - set_sixel(graphic, &context, sixel); + if (sixel) { + if (!ValidColumn(graphic, &context) || + !set_sixel(graphic, &context, sixel)) { + context.col = 0; + break; + } + } context.col++; } else if (ch == '$') { /* DECGCR */ /* ignore DECCRNLM in sixel mode */ @@ -529,8 +541,13 @@ parse_sixel(XtermWidget xw, ANSI *params graphic->valid = 1; } for (i = 0; i < Pcount; i++) { - set_sixel(graphic, &context, sixel); - context.col++; + if (ValidColumn(graphic, &context) && + set_sixel(graphic, &context, sixel)) { + context.col++; + } else { + context.col = 0; + break; + } } } else if (ch == '#') { /* DECGCI */ ANSI color_params;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor