Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
ghostscript
CVE-2024-33871.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File CVE-2024-33871.patch of Package ghostscript
--- contrib/opvp/gdevopvp.c.orig 2020-03-19 09:21:42.000000000 +0100 +++ contrib/opvp/gdevopvp.c 2024-06-21 09:29:30.573905711 +0200 @@ -185,7 +185,7 @@ static int opvp_copy_color(gx_device *, static int _get_params(gs_param_list *); static int opvp_get_params(gx_device *, gs_param_list *); static int oprp_get_params(gx_device *, gs_param_list *); -static int _put_params(gs_param_list *); +static int _put_params(gx_device *, gs_param_list *); static int opvp_put_params(gx_device *, gs_param_list *); static int oprp_put_params(gx_device *, gs_param_list *); static int opvp_fill_path(gx_device *, const gs_gstate *, gx_path *, @@ -3180,7 +3180,7 @@ oprp_get_params(gx_device *dev, gs_param * put params */ static int -_put_params(gs_param_list *plist) +_put_params(gx_device *dev, gs_param_list *plist) { int code; int ecode = 0; @@ -3202,6 +3202,12 @@ _put_params(gs_param_list *plist) code = param_read_string(plist, pname, &vdps); switch (code) { case 0: + if (gs_is_path_control_active(dev->memory) + && (!vectorDriver || strlen(vectorDriver) != vdps.size + || memcmp(vectorDriver, vdps.data, vdps.size) != 0)) { + param_signal_error(plist, pname, gs_error_invalidaccess); + return_error(gs_error_invalidaccess); + } buff = realloc(buff, vdps.size + 1); memcpy(buff, vdps.data, vdps.size); buff[vdps.size] = 0; @@ -3403,7 +3409,7 @@ opvp_put_params(gx_device *dev, gs_param int code; /* put params */ - code = _put_params(plist); + code = _put_params(dev, plist); if (code) return code; /* put default params */ @@ -3419,7 +3425,7 @@ oprp_put_params(gx_device *dev, gs_param int code; /* put params */ - code = _put_params(plist); + code = _put_params(dev, plist); if (code) return code; /* put default 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