diff options
author | Guy Harris <guy@alum.mit.edu> | 2005-08-02 08:42:02 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2005-08-02 08:42:02 +0000 |
commit | b9ba0508bc1751b1b612c805d0c52fd781141fa9 (patch) | |
tree | b26719f190eb986ceed39a9b1fa8bc6531d03b24 /epan/exceptions.h | |
parent | a0f94c125f5d00b938c83a6f4f04fa46ed436760 (diff) |
Explain the BoundsError and ReportedBoundsError errors a bit more, as
per Ulf Lamping's request.
svn path=/trunk/; revision=15193
Diffstat (limited to 'epan/exceptions.h')
-rw-r--r-- | epan/exceptions.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/epan/exceptions.h b/epan/exceptions.h index 436311b929..66bbcce485 100644 --- a/epan/exceptions.h +++ b/epan/exceptions.h @@ -13,6 +13,10 @@ /** Index is out of range. An attempt was made to read past the end of a buffer. + This generally means that the capture was done with a "slice" + length or "snapshot" length less than the maximum packet size, + and a link-layer packet was cut short by that, so not all of the + data in the link-layer packet was available. **/ #define BoundsError 1 @@ -22,6 +26,17 @@ differs from a BoundsError in that the parent protocol established a limit past which this dissector should not process in the buffer and that limit was execeeded. + This generally means that the packet is invalid, i.e. whatever + code constructed the packet and put it on the wire didn't put enough + data into it. It is therefore currently reported as a "Malformed + packet". + However, it also happens in some cases where the packet was fragmented + and the fragments weren't reassembled. We need to add another length + field to a tvbuff, so that "length of the packet from the link layer" + and "length of the packet were it fully reassembled" are different, + and going past the first of those without going past the second would + throw a different exception, which would be reported as an "Unreassembled + packet" rather than a "Malformed packet". **/ #define ReportedBoundsError 2 |