| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Note that this new fuzz target already uncovers assertion failures in the CPython parser after running for a few minutes under honggfuzz. I probably should open an issue for that? |
Sorry, something went wrong.
|
Yes, please :) |
Sorry, something went wrong.
|
In particular, I'm seeing two assertion failures: fuzz_pycompile: Parser/pegen_errors.c:286: PyObject *get_error_line_from_tokenizer_buffers(Parser *, Py_ssize_t): Assertion `new_line != NULL && new_line + 1 < buf_end' failed. fuzz_pycompile: Objects/call.c:342: PyObject *_PyObject_Call(PyThreadState *, PyObject *, PyObject *, PyObject *): Assertion `!_PyErr_Occurred(tstate)' failed. I will collect the relevant inputs and stack traces and open an issue for each one. |
Sorry, something went wrong.
|
Were those issues filed? |
Sorry, something went wrong.
|
@alex no, I haven't filed the issues yet. Let me give that another look this weekend! |
Sorry, something went wrong.
|
Please leave a comment here when you do!
…On Fri, Nov 17, 2023 at 3:33 PM Brad Larsen ***@***.***> wrote:
@alex no, I haven't filed the issues yet. Let me give that another look this weekend!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
--
All that is necessary for evil to succeed is for good people to do nothing.
|
Sorry, something went wrong.
There was a problem hiding this comment.
Two small style suggestions, otherwise LGTM.
Sorry, something went wrong.
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
|
FYI, you may be able to apply for a Patch Reward from Google for the fuzzers you've contributed: https://bughunters.google.com/open-source-security/patch-rewards |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
This pull request adds a new fuzz target for the Py_CompileStringExFlags function in the "Very High Level Layer" C API. This function is essentially a C entry point to the Python compile builtin.
This pull request also includes a handful of short, mostly nonsensical Python files written to demonstrate a number of syntactic forms that appear in Python.
Also included is a dictionary of most Python syntactic elements, often included with trailing spaces, to aid the fuzzers in producing inputs that have a chance of being syntactically valid.
Future work could include writing a structure-aware input mutator, which would take syntactically valid Python programs as input, and produce syntactically-valid mutated Python programs as outputs. This would likely get much deeper coverage from the fuzzers.
CC @alex @gpshead