Hello all,
Since one week, I did lot of fuzzing on our internal network stack and that allows me to find couple af nasty bugs (infinite loop with memory leak, index out of range error and some corrupt data with bad use of slice).
So first of all, I want to thank you for this great golang variant of AFL.
I put more and more stuff to test into func Fuzz(data []byte) for increasing my fuzing scope on this network stack.
My fuzz test does lot modifications or append on the byte array that is passed with func Fuzz(data []byte)
I notice that :
- If I don't copy the data []byte, I have high rate (~1/500) but without crasher
- If I copy* the data []byte, I have expected rate (~1/10000)
* : the copy is done like this :
func Fuzz(roData [] data) int {
rwData := make([]data, len(roData))
copy(rwData, roData)
...
}
Should I consider this original data as read only data or this behavior could hidden another nasty bug?
Thx in adv
Regard
Jérôme