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

Add project utf8proc #5030

Merged
merged 9 commits into from
Jan 29, 2021
Merged

Add project utf8proc #5030

merged 9 commits into from
Jan 29, 2021

Conversation

randy408
Copy link
Contributor

utf8proc is a small, clean C library that provides Unicode normalization, case-folding, and other operations for data in the UTF-8 encoding.

utf8proc is used for basic Unicode support in the Julia language.

I intend to integrate this project.

@inferno-chromium
Copy link
Collaborator

Did you get approval from maintainer ? Can you ask them to leave a comment here.

@randy408
Copy link
Contributor Author

randy408 commented Jan 29, 2021

Are afl builds currently broken? Anyway the upstreamed build script is no good for some engines, worked around it for now.

JuliaStrings/utf8proc#215

JuliaStrings/utf8proc#216

@inferno-chromium
Copy link
Collaborator

Removed afl sanitizer, have no clue on failure, maybe @jonathanmetzman can check - https://github.com/google/oss-fuzz/pull/5030/checks?check_run_id=1794519005 and have seen it before, so will let him comment.

@inferno-chromium inferno-chromium merged commit 0e678a3 into google:master Jan 29, 2021
@jonathanmetzman
Copy link
Contributor

Sorry, just saw this message now.
The failing line is clang -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard -I/src/utf8proc /src/utf8proc/test/fuzzer.c -o /out/utf8proc_fuzzer /usr/lib/libFuzzingEngine.a /src/utf8proc/build/libutf8proc.a

The failures look like this:

/usr/local/bin/../include/c++/v1/iosfwd:144: undefined reference to `std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()'

I think the issue is that libFuzzingEngine.a is linked with clang instead of clang++.

@randy408
Copy link
Contributor Author

Does that mean the fuzz target should be built manually? https://github.com/JuliaStrings/utf8proc/blob/master/test/ossfuzz.sh#L7

@jonathanmetzman
Copy link
Contributor

Yes I think so.
It actually might be worth trying AFL builds again without changing anything.
We switched to AFL++ and the libFuzzingEngine.a for AFL++ is pure C. So linking against it may work with clang instead of clang++.

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.

3 participants