Today we've encountered an stack buffer underflow reported by gcc 10.2 && gcc 11 asan.
Looking into asan's output, we found that it points to following shadow byte pattern:
someaddr => [f1]f1 f3 f3 f3
where
f1 is stack left redzone
f3 is stack right redzone.
It looks suspicious to me that there are no addressable bytes between stack left and right red zones. Could you please explain under what circumstances can such shadow layout occur?