aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2019-02-15 14:04:54 +0100
committerUlf Hermann <ulf.hermann@qt.io>2019-02-18 07:24:08 +0000
commit885e4af1f4ba3f047c3d932a1a780ddbba481170 (patch)
tree0ff818ac338c3fbe400fb5380c14c074ca8553b8 /src
parent94d30df911dccd830a18d7c2e75397505ef9a600 (diff)
QML: Don't crash the parser on certain kinds of bad input
Fixes: QTBUG-72734 Change-Id: I92146ec517c6a26a67e13830618e137f2a3021c2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/qml/parser/qqmljs.g8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qml/parser/qqmljs.g b/src/qml/parser/qqmljs.g
index 860a4e999e..b86dba6daa 100644
--- a/src/qml/parser/qqmljs.g
+++ b/src/qml/parser/qqmljs.g
@@ -3963,8 +3963,12 @@ ClassElementList: ClassElement;
ClassElementList: ClassElementList ClassElement;
/.
case $rule_number: {
- if (sym(2).Node)
- sym(1).ClassElementList = sym(1).ClassElementList->append(sym(2).ClassElementList);
+ if (sym(1).Node) {
+ if (sym(2).Node)
+ sym(1).ClassElementList = sym(1).ClassElementList->append(sym(2).ClassElementList);
+ } else if (sym(2).Node) {
+ sym(1).Node = sym(2).Node;
+ }
} break;
./