summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch
diff options
context:
space:
mode:
authorHuang Qiyu <huangqy.fnst@cn.fujitsu.com>2018-01-30 16:58:38 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-02-06 11:06:27 +0000
commita62c43a363245740c9a7250e5795983197a46896 (patch)
tree6b83fe30743e9701834bb42d54444b02b6bd908b /meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch
parent5f0c4c785d7c6daa25cfd5e4ff939afb0ff2294a (diff)
downloadpoky-a62c43a363245740c9a7250e5795983197a46896.tar.gz
ruby: 2.4.2 -> 2.5.0
1.Upgrade ruby form 2.4.2 to 2.5.0. 2.Update the checksum of LIC_FILES_CHKSUM. 3.Delete ruby-CVE-2017-9224.patch, ruby-CVE-2017-9227.patch, ruby-CVE-2017-9229.patch, since it is integrated upstream. 4.Modify ruby-CVE-2017-9226.patch, since the data has been changed. (From OE-Core rev: 67b9f407f7c40c63c7f9518b4ee3d4d1cc7c75ce) Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch')
-rw-r--r--meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch15
1 files changed, 3 insertions, 12 deletions
diff --git a/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch b/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch
index 0f2a4307cc..89437bba74 100644
--- a/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch
+++ b/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch
@@ -20,22 +20,13 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
20 20
21--- ruby-2.4.1.orig/regparse.c 21--- ruby-2.4.1.orig/regparse.c
22+++ ruby-2.4.1/regparse.c 22+++ ruby-2.4.1/regparse.c
23@@ -3644,7 +3644,7 @@ fetch_token(OnigToken* tok, UChar** src,
24 if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_OCTAL3)) {
25 prev = p;
26 num = scan_unsigned_octal_number(&p, end, (c == '0' ? 2:3), enc);
27- if (num < 0) return ONIGERR_TOO_BIG_NUMBER;
28+ if (num < 0 || 0xff < num) return ONIGERR_TOO_BIG_NUMBER;
29 if (p == prev) { /* can't read nothing. */
30 num = 0; /* but, it's not error */
31 }
32@@ -4450,6 +4450,9 @@ next_state_val(CClassNode* cc, CClassNod 23@@ -4450,6 +4450,9 @@ next_state_val(CClassNode* cc, CClassNod
33 switch (*state) { 24 switch (*state) {
34 case CCS_VALUE: 25 case CCS_VALUE:
35 if (*type == CCV_SB) { 26 if (*type == CCV_SB) {
36+ if (*vs > 0xff) 27+ if (*from > 0xff)
37+ return ONIGERR_INVALID_CODE_POINT_VALUE; 28+ return ONIGERR_INVALID_CODE_POINT_VALUE;
38+ 29+
39 BITSET_SET_BIT_CHKDUP(cc->bs, (int )(*vs)); 30 BITSET_SET_BIT_CHKDUP(cc->bs, (int )(*from));
40 if (IS_NOT_NULL(asc_cc)) 31 if (IS_NOT_NULL(asc_cc))
41 BITSET_SET_BIT(asc_cc->bs, (int )(*vs)); 32 BITSET_SET_BIT(asc_cc->bs, (int )(*from));