Skip to content

Commit 95f0b5e

Browse files
mgreterxzyfer
authored andcommitted
Fix segfault in selector extend edge-case
1 parent 8915c96 commit 95f0b5e

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/extend.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1953,12 +1953,14 @@ namespace Sass {
19531953
Wrapped_Selector_Ptr ext_ws = Cast<Wrapped_Selector>(ext_head->first());
19541954
if (ext_ws/* && ext_cs->length() == 1*/) {
19551955
Selector_List_Obj ws_cs = Cast<Selector_List>(ext_ws->selector());
1956-
Compound_Selector_Obj ws_ss = ws_cs->first()->head();
1957-
if (!(
1958-
Cast<Pseudo_Selector>(ws_ss->first()) ||
1959-
Cast<Element_Selector>(ws_ss->first()) ||
1960-
Cast<Placeholder_Selector>(ws_ss->first())
1961-
)) continue;
1956+
if (ws_cs && !ws_cs->empty() && ws_cs->first()) {
1957+
Compound_Selector_Obj ws_ss = ws_cs->first()->head();
1958+
if (ws_ss && !ws_ss->empty() && !(
1959+
Cast<Pseudo_Selector>(ws_ss->first()) ||
1960+
Cast<Element_Selector>(ws_ss->first()) ||
1961+
Cast<Placeholder_Selector>(ws_ss->first())
1962+
)) continue;
1963+
}
19621964
}
19631965
cpy_ws_sl->append(ext_cs->first());
19641966
}

0 commit comments

Comments
 (0)