35 lines
787 B
Diff
35 lines
787 B
Diff
From 3b63d12038c8d8fc278e81c942fa9bec7c704c8b Mon Sep 17 00:00:00 2001
|
|
From: "K.Kosako" <kosako@sofnec.co.jp>
|
|
Date: Wed, 24 May 2017 13:43:25 +0900
|
|
Subject: [PATCH] fix #60 : invalid state(CCS_VALUE) in parse_char_class()
|
|
|
|
---
|
|
regparse.c | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
--- end of original header
|
|
|
|
CVE: CVE-2017-9228
|
|
|
|
Upstream-Status: Inappropriate [not author]
|
|
Signed-off-by: Joe Slater <joe.slater@windriver.com>
|
|
|
|
diff --git a/regparse.c b/regparse.c
|
|
index 69875fa..1988747 100644
|
|
--- a/regparse.c
|
|
+++ b/regparse.c
|
|
@@ -4081,7 +4081,9 @@ next_state_class(CClassNode* cc, OnigCodePoint* vs, enum CCVALTYPE* type,
|
|
}
|
|
}
|
|
|
|
- *state = CCS_VALUE;
|
|
+ if (*state != CCS_START)
|
|
+ *state = CCS_VALUE;
|
|
+
|
|
*type = CCV_CLASS;
|
|
return 0;
|
|
}
|
|
--
|
|
1.7.9.5
|
|
|