LibSass: heap-buffer-overflow (read outside of buffer) in Sass::Prelexer::exactly<(char)92>(char const*) - libsass/src/lexer.hpp:92

2017-04-15T07:27:46
ID H1:221163
Type hackerone
Reporter geeknik
Modified 2019-10-05T04:25:03

Description

Built with afl-clang-fast from git source 5909ba5.

Feeding a file that contains nothing but '\ to sassc triggers this flaw.

``` ==22006==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200000ef93 at pc 0x000000907c6a bp 0x7fff656d9430 sp 0x7fff656d9428 READ of size 1 at 0x60200000ef93 thread T0 #0 0x907c69 in char const Sass::Prelexer::exactly<(char)92>(char const) /home/geeknik/libsass/src/lexer.hpp:92:7 #1 0x907c69 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)92>(char const)), &Sass::Prelexer::re_linebreak>(char const) /home/geeknik/libsass/src/lexer.hpp:218 #2 0x907c69 in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)92>(char const)), &Sass::Prelexer::re_linebreak>(char const)), &Sass::Prelexer::escape_seq, &Sass::Prelexer::unicode_seq, &Sass::Prelexer::interpolant, &(char const Sass::Prelexer::any_char_but<(char)39>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:202 #3 0x907c69 in char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)92>(char const)), &Sass::Prelexer::re_linebreak>(char const)), &Sass::Prelexer::escape_seq, &Sass::Prelexer::unicode_seq, &Sass::Prelexer::interpolant, &(char const Sass::Prelexer::any_char_but<(char)39>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:236 #4 0x907c69 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)92>(char const)), &Sass::Prelexer::re_linebreak>(char const)), &Sass::Prelexer::escape_seq, &Sass::Prelexer::unicode_seq, &Sass::Prelexer::interpolant, &(char const Sass::Prelexer::any_char_but<(char)39>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)39>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:218 #5 0x907c69 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)39>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)92>(char const)), &Sass::Prelexer::re_linebreak>(char const)), &Sass::Prelexer::escape_seq, &Sass::Prelexer::unicode_seq, &Sass::Prelexer::interpolant, &(char const Sass::Prelexer::any_char_but<(char)39>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)39>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:219 #6 0x907c69 in Sass::Prelexer::single_quoted_string(char const) /home/geeknik/libsass/src/prelexer.cpp:509 #7 0x924494 in char const Sass::Prelexer::alternatives<&Sass::Prelexer::single_quoted_string, &Sass::Prelexer::double_quoted_string>(char const) /home/geeknik/libsass/src/lexer.hpp:202:19 #8 0x924494 in Sass::Prelexer::quoted_string(char const) /home/geeknik/libsass/src/prelexer.cpp:557 #9 0x924494 in char const Sass::Prelexer::alternatives<&Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const) /home/geeknik/libsass/src/lexer.hpp:202 #10 0x924494 in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #11 0x924494 in char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #12 0x922ba7 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:212:20 #13 0x922ba7 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:219 #14 0x922ba7 in char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:244 #15 0x922ba7 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:218 #16 0x922ba7 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:219 #17 0x922ba7 in char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:219 #18 0x923fa3 in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:196:19 #19 0x923fa3 in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #20 0x923fa3 in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #21 0x923fa3 in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #22 0x923fa3 in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #23 0x92261b in char const Sass::Prelexer::alternatives<&Sass::Prelexer::schema_reference_combinator, &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203:14 #24 0x92261b in char const Sass::Prelexer::alternatives<&Sass::Prelexer::line_comment, &Sass::Prelexer::schema_reference_combinator, &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #25 0x92261b in char const Sass::Prelexer::alternatives<&Sass::Prelexer::block_comment, &Sass::Prelexer::line_comment, &Sass::Prelexer::schema_reference_combinator, &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #26 0x92261b in char const Sass::Prelexer::alternatives<&Sass::Prelexer::spaces, &Sass::Prelexer::block_comment, &Sass::Prelexer::line_comment, &Sass::Prelexer::schema_reference_combinator, &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #27 0x91aebf in char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::alternatives<&Sass::Prelexer::spaces, &Sass::Prelexer::block_comment, &Sass::Prelexer::line_comment, &Sass::Prelexer::schema_reference_combinator, &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:244:23 #28 0x91aebf in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::alternatives<&Sass::Prelexer::spaces, &Sass::Prelexer::block_comment, &Sass::Prelexer::line_comment, &Sass::Prelexer::schema_reference_combinator, &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:196 #29 0x91aebf in char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&Sass::Prelexer::ampersand, &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &Sass::Prelexer::word_boundary, &Sass::Prelexer::optional_spaces>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::alternatives<&Sass::Prelexer::spaces, &Sass::Prelexer::block_comment, &Sass::Prelexer::line_comment, &Sass::Prelexer::schema_reference_combinator, &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_lookahead_ops>(char const)), &(char const Sass::Prelexer::class_char<&Sass::Constants::selector_combinator_ops>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)40>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::optional<&Sass::Prelexer::re_selector_list>(char const)), &Sass::Prelexer::optional_spaces, &(char const Sass::Prelexer::exactly<(char)41>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::exact_match, &Sass::Prelexer::class_match, &Sass::Prelexer::dash_match, &Sass::Prelexer::prefix_match, &Sass::Prelexer::suffix_match, &Sass::Prelexer::substring_match>(char const)), &(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::optional<&Sass::Prelexer::namespace_schema>(char const)), &(char const Sass::Prelexer::alternatives<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::exactly<(char)35>(char const)), &(char const Sass::Prelexer::negate<&(char const Sass::Prelexer::exactly<(char)123>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::exactly<(char)46>(char const)), &(char const Sass::Prelexer::optional<&Sass::Prelexer::pseudo_prefix>(char const))>(char const)), &(char const Sass::Prelexer::one_plus<&(char const Sass::Prelexer::sequence<&(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const)), &(char const Sass::Prelexer::alternatives<&Sass::Prelexer::kwd_optional, &(char const Sass::Prelexer::exactly<(char)42>(char const)), &Sass::Prelexer::quoted_string, &Sass::Prelexer::interpolant, &Sass::Prelexer::identifier, &Sass::Prelexer::variable, &Sass::Prelexer::percentage, &Sass::Prelexer::binomial, &Sass::Prelexer::dimension, &Sass::Prelexer::alnum>(char const))>(char const))>(char const)), &(char const Sass::Prelexer::zero_plus<&(char const Sass::Prelexer::exactly<(char)45>(char const))>(char const))>(char const))>(char const))>(char const))>(char const) /home/geeknik/libsass/src/lexer.hpp:203 #30 0x91aebf in Sass::Prelexer::re_selector_list(char const) /home/geeknik/libsass/src/prelexer.cpp:1580 #31 0x806242 in char const Sass::Parser::peek<&Sass::Prelexer::re_selector_list>(char const) /home/geeknik/libsass/src/parser.hpp:122:27 #32 0x806242 in Sass::Parser::lookahead_for_selector(char const) /home/geeknik/libsass/src/parser.cpp:2600 #33 0x7db514 in Sass::Parser::parse_block_node(bool) /home/geeknik/libsass/src/parser.cpp:264:35 #34 0x7cf433 in Sass::Parser::parse_block_nodes(bool) /home/geeknik/libsass/src/parser.cpp:187:11 #35 0x7cb3c7 in Sass::Parser::parse() /home/geeknik/libsass/src/parser.cpp:113:5 #36 0x62a92c in Sass::Context::register_resource(Sass::Include const&, Sass::Resource const&, Sass::ParserState) /home/geeknik/libsass/src/context.cpp:322:22 #37 0x64c19b in Sass::File_Context::parse() /home/geeknik/libsass/src/context.cpp:584:5 #38 0x5d0650 in Sass::sass_parse_block(Sass_Compiler) /home/geeknik/libsass/src/sass_context.cpp:227:22 #39 0x5d0650 in sass_compiler_parse /home/geeknik/libsass/src/sass_context.cpp:476 #40 0x5cf1d1 in sass_compile_context(Sass_Context, Sass::Context) /home/geeknik/libsass/src/sass_context.cpp:364:7 #41 0x5cf6be in sass_compile_file_context /home/geeknik/libsass/src/sass_context.cpp:463:12 #42 0x5b9d2e in compile_file /home/geeknik/sassc/sassc.c:145:5 #43 0x5bab9b in main /home/geeknik/sassc/sassc.c:335:18 #44 0x7f8112b0ab44 in __libc_start_main /build/glibc-qK83Be/glibc-2.19/csu/libc-start.c:287 #45 0x5b92fc in _start (/home/geeknik/sassc/bin/sassc+0x5b92fc)

0x60200000ef93 is located 0 bytes to the right of 3-byte region [0x60200000ef90,0x60200000ef93) allocated by thread T0 here: #0 0x59bc7b in __interceptor_malloc (/home/geeknik/sassc/bin/sassc+0x59bc7b) #1 0x7963f9 in Sass::File::read_file(std::string const&) /home/geeknik/libsass/src/file.cpp:411:30 #2 0x64b255 in Sass::File_Context::parse() /home/geeknik/libsass/src/context.cpp:556:22 #3 0x5d0650 in Sass::sass_parse_block(Sass_Compiler) /home/geeknik/libsass/src/sass_context.cpp:227:22 #4 0x5d0650 in sass_compiler_parse /home/geeknik/libsass/src/sass_context.cpp:476 #5 0x5cf1d1 in sass_compile_context(Sass_Context, Sass::Context*) /home/geeknik/libsass/src/sass_context.cpp:364:7 #6 0x5b9d2e in compile_file /home/geeknik/sassc/sassc.c:145:5

SUMMARY: AddressSanitizer: heap-buffer-overflow /home/geeknik/libsass/src/lexer.hpp:92 char const Sass::Prelexer::exactly<(char)92>(char const) ```