You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<summary>Understanding these options isn't necessary, but if you're curious click here.</summary>
### `ASAN_OPTIONS`
1. Memory allocation failures are common and low impact (DoS), so skip them for now.
1. Like Python, the Ruby interpreter [leaks data](https://github.com/google/atheris/blob/master/native_extension_fuzzing.md#leak-detection), so ignore these for now.
The downside of this approach is that we require an additional step from users to export this ENV variable. If we use the __asan_default_options function in our source code, then that's one less step. We still need to confirm that ASAN_OPTIONS can overwrite __asan_default_options at runtime in case users need different options.
The text was updated successfully, but these errors were encountered:
This is a bit more challenging than I initially anticipated due to the way Ruzzy is structured. When fuzzing C extensions, there ends up being two C extensions: the Ruzzy C extension and the target C extension. The Ruzzy C extension is the one we have the most control over, but I believe __asan_default_options would have to be defined in the target C extension. This certainly isn't impossible, but it's more work than adding __asan_default_options to cruzzy.c.
ASan flags can be specified in a number of ways: https://github.com/google/sanitizers/wiki/AddressSanitizerFlags#run-time-flags.
Currently, we use the
ASAN_OPTIONS
ENV variable in a number of places:ruzzy/README.md
Lines 57 to 70 in be40045
ruzzy/Dockerfile
Lines 23 to 26 in be40045
The downside of this approach is that we require an additional step from users to
export
this ENV variable. If we use the__asan_default_options
function in our source code, then that's one less step. We still need to confirm thatASAN_OPTIONS
can overwrite__asan_default_options
at runtime in case users need different options.The text was updated successfully, but these errors were encountered: