mirror of
https://git.yoctoproject.org/poky
synced 2026-03-03 05:49:39 +01:00
affects ruby < 2.4.1 (From OE-Core rev: 0c1eec0c6a789e1e9dbfcc66c3fb8c7d1d8b4e99) Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
commit f015fbdd95f76438cd86366467bb2b39870dd7c6
|
|
Author: K.Kosako <kosako@sofnec.co.jp>
|
|
Date: Fri May 19 15:44:47 2017 +0900
|
|
|
|
fix #55 : Byte value expressed in octal must be smaller than 256
|
|
|
|
Upstream-Status: Backport
|
|
|
|
CVE: CVE-2017-9226
|
|
Signed-off-by: Thiruvadi Rajaraman <tajaraman@mvista.com>
|
|
|
|
Index: ruby-2.2.5/regparse.c
|
|
===================================================================
|
|
--- ruby-2.2.5.orig/regparse.c 2017-09-12 16:33:21.977835068 +0530
|
|
+++ ruby-2.2.5/regparse.c 2017-09-12 16:34:40.987117744 +0530
|
|
@@ -3222,7 +3222,7 @@
|
|
PUNFETCH;
|
|
prev = p;
|
|
num = scan_unsigned_octal_number(&p, end, 3, enc);
|
|
- if (num < 0) return ONIGERR_TOO_BIG_NUMBER;
|
|
+ if (num < 0 || num >= 256) return ONIGERR_TOO_BIG_NUMBER;
|
|
if (p == prev) { /* can't read nothing. */
|
|
num = 0; /* but, it's not error */
|
|
}
|
|
@@ -3676,7 +3676,7 @@
|
|
if (IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_OCTAL3)) {
|
|
prev = p;
|
|
num = scan_unsigned_octal_number(&p, end, (c == '0' ? 2:3), enc);
|
|
- if (num < 0) return ONIGERR_TOO_BIG_NUMBER;
|
|
+ if (num < 0 || num >= 256) return ONIGERR_TOO_BIG_NUMBER;
|
|
if (p == prev) { /* can't read nothing. */
|
|
num = 0; /* but, it's not error */
|
|
}
|