[PATCH] D60538: [Draft] [libFuzzer] Fix DataFlow.cpp logic when tracing long inputs.

Max Moroz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 12 11:27:17 PDT 2019


Dor1s added a comment.

Btw, I did some testing locally, with a 5 bytes input. I was tracing it 3 times:

- full
- 0 3 bytes
- 3 5 bytes

see the traces below:

  root at 7fc00dc69f76:/out# cat full start end
  F1 111111
  F4 111111
  F7 111111
  F11 111111
  F12 100001
  
  F1 111001
  F4 111001
  F7 111001
  F11 111001
  F12 100001
  
  F1 000111
  F4 000111
  F7 000111
  F11 000111
  F12 000001
  
  root at 7fc00dc69f76:/out# cat full3 start3 end3
  F1 111111
  F4 111111
  F7 111111
  F11 111111
  F12 100001
  
  F1 111001
  F4 111001
  F7 111001
  F11 111001
  F12 100001
  
  F1 000111
  F4 000111
  F7 000111
  F11 000111
  F12 000001

If we merge `start` and `end`, we get `full` -- these three are obtained using the current implementation. After applying this CL, the same works for merging `start3` and `end3` resulting in `full3` which is equal to `full`, i.e. I believe that nothing's broken.


Repository:
  rCRT Compiler Runtime

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60538/new/

https://reviews.llvm.org/D60538





More information about the llvm-commits mailing list