tcpdump mailing list archives
Re: [libpcap] Uninitialized scalar variable
From: Guy Harris <guy () alum mit edu>
Date: Tue, 27 Jan 2015 02:14:59 -0800
On Jan 27, 2015, at 1:58 AM, PEUGNEZ Baptiste <baptiste.peugnez () cea fr> wrote:
I do computer security studies and I wanted to test Coverity, a source code analysis tool. If you're interested, I corrected a problem in /pcap-linux.c/ file: uninitialized variable (/req.tp_frame_size/). You will find above the Github commit. https://github.com/peugnezb/libpcap/commit/2bbb0d9f3e1f0337985b4fa8033d465e598ecc46
Adding the check should be harmless. However, the error message should probably be something such as "internal error: unknown TPACKET_ value XXX", where XXX is the value of handlep->tp_version, because, in the current code, that would happen only if handlep->tp_version had never been set - it's never set to a value other than TPACKET_V1, TPACKET_V2, or TPACKET_V3, and it's only set to TPACKET_V3 if HAVE_TPACKET3 is defined and only set to TPACKET_V2 if HAVE_TPACKET2 is defined (set by init_tpacket()), so the default case in that switch should never be reached. That error message would make it clearer that either 1) some weird glitch happened in the hardware or in some software outside libpcap or 2) there's a case that the analysis above missed, and would give some data that would help figure out which of those is the case. (Sadly, most compilers don't do enough data flow analysis to either prove that it can't happen without a hardware glitch or random out-of-bounds store or to show how it *can* happen and thus to show where the code needs to be fixed.) _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- [libpcap] Uninitialized scalar variable PEUGNEZ Baptiste (Jan 27)
- Re: [libpcap] Uninitialized scalar variable Guy Harris (Jan 27)