Skip to content

Commit b791b5b

Browse files
authored
Update info on multithreading, link to relevant issue
1 parent 3522afe commit b791b5b

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ Stack-based uninitialized reads are not detected.
5656

5757
Unlike memory sanitizer, this thing will not make your program crash as soon as a read from uninitialized memory occurs. Instead, it lets you detect that it has occurred after the fact and only if the contents of uninitialized memory leak into the output. I.e. this will help you notice security vulnerabilities, but will not really aid in debugging.
5858

59-
I have no idea how the global counter in C inside `malloc()` will behave in multi-threaded programs. FWIW I have just as much idea about what would happen if I made the counter atomic. So for now, be warned that in multi-threaded programs it may or may not actually detect uninitialized memory access. Contributions are welcome. For now you can work around this by applying the same hack as for black-box binaries.
59+
It currently does not reliably detect reads from uninitialized memory in multi-threaded programs. Pull requests switching the global counter to atomic type are [welcome](https://github.com/Shnatsel/libdiffuzz/issues/2). For now you can work around this by applying the same hack as for black-box binaries.
6060

61-
This may miss single-byte uninitialized reads because the counter is `u16`; if you need to detect those, change it to `u8`, but be warned that it will be more likely to miss uninitialized reads that way.
61+
This may miss single-byte uninitialized reads because the counter is `u16`; if you need to detect those, change it to `u8`, but be warned that it will be a bit more likely to miss uninitialized reads that way (one in 256 versus one in 65536).
6262

6363
## Trophy case
6464

0 commit comments

Comments
 (0)