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
{{ message }}
Repository navigation
Passing options by environment variables may set them too late and is not portable #8
Currently libdiffuzz switches to non-deterministic mode after reading an environment variable from a function called from link-time "constructors" section:
This is not portable. This is already taking different codepaths depending on whether it's on Linux/BSD or macOS. Windows is currently not supported. What's worse, there is no way to tell if this actually works on your platform or not!
This may kick in too late and miss initializing some heap-allocated memory in other libraries with similar hooks, so libdiffuzz will fail to expose some errors.
I'd prefer to fix this by building two different dynamic libraries, libdiffuzz and libdiffuzz-random, with the appropriate mode hardcoded in each.
There is also dynamic setup of the amount of memory to over-allocate, but that's a fairly obscure feature which can be moved into a compile-time parameter.
Activity
Shnatsel commentedon Oct 24, 2018
I'd prefer to fix this by building two different dynamic libraries, libdiffuzz and libdiffuzz-random, with the appropriate mode hardcoded in each.
There is also dynamic setup of the amount of memory to over-allocate, but that's a fairly obscure feature which can be moved into a compile-time parameter.