Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Function calls #16

Merged
merged 15 commits into from Feb 24, 2016
Merged

Function calls #16

merged 15 commits into from Feb 24, 2016

Conversation

robrix
Copy link
Member

@robrix robrix commented Feb 22, 2016

No description provided.

@robrix
Copy link
Member Author

robrix commented Feb 24, 2016

The remaining issue is that we’re parsing a + b as a(+b).

  • Unary + shouldn’t actually match with whitespace after it.
  • Binary + should be of higher precedence than function_call, so I would’ve thought this would have been ruled out anyway.

@robrix
Copy link
Member Author

robrix commented Feb 24, 2016

@maxbrunsfeld: It seems kind of counterintuitive that 922b678 should have fixed that 😕

@robrix
Copy link
Member Author

robrix commented Feb 24, 2016

Counterintuitive or no, we parse function calls! 🎉

@robrix robrix changed the title [WIP] Function calls Function calls Feb 24, 2016
@robrix
Copy link
Member Author

robrix commented Feb 24, 2016

fin

robrix added a commit that referenced this pull request Feb 24, 2016
@robrix robrix merged commit ce1cc83 into master Feb 24, 2016
@robrix robrix deleted the function-calls branch February 24, 2016 18:54
@maxbrunsfeld
Copy link
Contributor

‼️ 💥

philipturnbull added a commit that referenced this pull request Jun 30, 2017
isalnum is only defined if the input is in the ASCII range. Nothing bad happens
on mac afaict but will cause an out-of-bounds read on Linux:

==11146== ERROR: libFuzzer: deadly signal
    #0 0x649030 in fuzzer::Fuzzer::CrashCallback() /src/libfuzzer/FuzzerLoop.cpp:195:5
    #1 0x648fd9 in fuzzer::Fuzzer::StaticCrashSignalCallback() /src/libfuzzer/FuzzerLoop.cpp:179:6
    #2 0x7f118dd6638f  (/lib/x86_64-linux-gnu/libpthread.so.0+0x1138f)
    #3 0x7f118d396d0d in isalnum (/lib/x86_64-linux-gnu/libc.so.6+0x2dd0d)
    #4 0x42d44a in (anonymous namespace)::Scanner::scan_symbol_identifier(TSLexer*) /src/tree-sitter/tree-sitter-ruby/src/scanner.cc:250:12
    #5 0x42be29 in (anonymous namespace)::Scanner::scan(TSLexer*, bool const*) /src/tree-sitter/tree-sitter-ruby/src/scanner.cc:727:18
    #6 0x62eb83 in parser__lex /src/tree-sitter/src/runtime/parser.c:271:30
    #7 0x62a05c in parser__advance /src/tree-sitter/src/runtime/parser.c:1097:21
    #8 0x629789 in parser_parse /src/tree-sitter/src/runtime/parser.c:1298:9
    #9 0x62617d in ts_document_parse_with_options /src/tree-sitter/src/runtime/document.c:136:16
    #10 0x42b053 in LLVMFuzzerTestOneInput /src/tree-sitter/../fuzzer.cc:21:3
    #11 0x64a164 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:460:13
    #12 0x64a4be in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:399:3
    #13 0x63c890 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/libfuzzer/FuzzerDriver.cpp:268:6
    #14 0x64090b in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:683:9
    #15 0x63c58c in main /src/libfuzzer/FuzzerMain.cpp:20:10
    #16 0x7f118d38982f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #17 0x405928 in _start (/out/ruby_fuzzer+0x405928)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants