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

Disable UBSan vptr on harfbuzz, enable UBSan for other features. #405

Merged
merged 1 commit into from
Feb 18, 2017

Conversation

inferno-chromium
Copy link
Collaborator

No description provided.

@inferno-chromium inferno-chromium merged commit f8633ef into master Feb 18, 2017
@inferno-chromium
Copy link
Collaborator Author

@kcc as fyi.

this works, even though it crashes on startup, will let CF file this bug.

INFO: -max_len is not provided, using 74856
#0 READ units: 66
hb-font.cc:1245:5: runtime error: call to function _hb_ot_font_destroy(hb_ot_font_t*) through pointer to incorrect function type 'void ()(void )'
/src/harfbuzz/src/hb-ot-font.cc:462: note: _hb_ot_font_destroy(hb_ot_font_t
) defined here
#0 0x4727e3 in hb_font_destroy /src/harfbuzz/src/hb-font.cc:1245:5
#1 0x42e826 in LLVMFuzzerTestOneInput /src/harfbuzz/./test/fuzzing/hb-fuzzer.cc:48:3
#2 0x43a3c4 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const
, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:550:13

@inferno-chromium
Copy link
Collaborator Author

@behdad - fyi. this will easily reproduce this.

python infra/helper.py --nopull build_fuzzers --sanitizer undefined harfbuzz
python infra/helper.py --nopull run_fuzzer harfbuzz hb-fuzzer

@kcc
Copy link
Contributor

kcc commented Feb 18, 2017

sweet!
ultimately, we'll need to fix vptr vs no-rtti bug in the clang driver.

@inferno-chromium
Copy link
Collaborator Author

sure filed tracking #406

tmatth pushed a commit to tmatth/oss-fuzz that referenced this pull request Oct 22, 2018
DavidKorczynski pushed a commit that referenced this pull request Jul 9, 2024
… fuzz target (#405)

Function `operator` is a special case that can be followed by special
chars like `++`.
This PR includes that in the regex.

For example, the following line uses `++`, but was not parsed by the
current regex:
```C++
// Iterator<std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<bool, std::__1::allocator<bool> >&> & iter::impl::Compressed<std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<bool, std::__1::allocator<bool> >&>::Iterator<std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<bool, std::__1::allocator<bool> >&>::operator++(Iterator<std::__1::vector<int, std::__1::allocator<int> > &, std::__1::vector<bool, std::__1::allocator<bool> > &> *);
it++;
```
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.

2 participants