Closed TechnikEmpire closed 7 years ago
The WinDivertRecv
function is providing synchronization here, preventing any issues. If the Ex
version(s) were used, this would be a huge problem and the buffer would need to be local.
This was fixed ages ago. Issue tags got mixed up after moving to and back from private repo.
Have no idea how this ever went unnoticed and how this never appeared to have ever caused an issue before. The WinDiverter class uses multiple threads to do packet IO in the
RunDiversion
method but uses a local class member as the packet buffer in that threaded method. I probably threw the multithreading after the fact, but I am at a total loss to explain how this has not manifested a single problem in functionality to date.