Projects
openEuler:24.03:SP1:Everything:64G
ruby
_service:tar_scm:backport-CVE-2019-16162.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-CVE-2019-16162.patch of Package ruby
From d4cf99d30bd5f6a8a4ababd0b9d7b06f3a479a24 Mon Sep 17 00:00:00 2001 From: "K.Takata" <kentkt@csc.jp> Date: Thu, 1 Aug 2019 21:27:51 +0900 Subject: [PATCH] Fix out-of-bounds read in parse_char_class() (Close #139) /[\x{111111}]/ causes out-of-bounds read when encoding is a single byte encoding. \x{111111} is an invalid codepoint for a single byte encoding. Check if it is a valid codepoint. --- regenc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff -Naur a/regenc.c b/regenc.c --- a/regenc.c 2020-10-20 14:19:32.284000000 +0800 +++ b/regenc.c 2020-10-20 14:22:55.412000000 +0800 @@ -625,18 +625,23 @@ } extern int -onigenc_single_byte_code_to_mbclen(OnigCodePoint code ARG_UNUSED, OnigEncoding enc ARG_UNUSED) +onigenc_single_byte_code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED) { + if (code > 0xff) + return ONIGERR_INVALID_CODE_POINT_VALUE; return 1; } extern int onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc ARG_UNUSED) { + if (code > 0xff) { #ifdef RUBY - if (code > 0xff) rb_raise(rb_eRangeError, "%u out of char range", code); +#else + return ONIGERR_INVALID_CODE_POINT_VALUE; #endif + } *buf = (UChar )(code & 0xff); return 1; }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2