Hello, thank you for detailed explanation and diff. I went through it and agree with your change.
I also gave it a quick try to see if OpenBSD's tcpdump linked with patched libpcap is able to read captured packets which come from earlier capture, the one which was saved by OpenBSD's tcpdump _without_ patched libpcap. I was using lo0 for test. Everything worked as expected. I could test with loopback only. this change is OK sashan@ thanks and regards sashan