Bug ID |
8454
|
Summary |
proto.c: get_[u]int_value() issues with values > 32 bits
|
Classification |
Unclassified
|
Product |
Wireshark
|
Version |
SVN
|
Hardware |
All
|
OS |
All
|
Status |
UNCONFIRMED
|
Severity |
Minor
|
Priority |
Low
|
Component |
Dissection engine (libwireshark)
|
Assignee |
[email protected]
|
Reporter |
[email protected]
|
CC |
[email protected]
|
Build Information:
wireshark 1.9.1 (SVN Rev 48190 from /trunk)
Copyright 1998-2013 Gerald Combs <[email protected]> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiled (64-bit) with GTK+ 2.24.13, with Cairo 1.12.14, with Pango 1.32.3,
with
GLib 2.34.2, with libpcap, with libz 1.2.7, with POSIX capabilities (Linux),
without libnl, with SMI 0.4.8, with c-ares 1.9.1, with Lua 5.1, without Python,
with GnuTLS 2.12.22, with Gcrypt 1.5.0, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built Jul 21 2012 17:51:23), with AirPcap.
Running on Linux 3.7.9-201.fc18.x86_64, with locale en_US.UTF-8, with libpcap
version 1.3.0, with libz 1.2.7, GnuTLS 2.12.22, Gcrypt 1.5.0, without AirPcap.
Intel(R) Core(TM)2 Duo CPU T9900 @ 3.06GHz
Built using gcc 4.7.2 20121109 (Red Hat 4.7.2-8).
--
The get_int_value() / get_uint_value() helper functions in proto.c handle large
(5+ byte) big-endian data differently than little-endian data. For
little-endian encoding, the 4 LSBs are parsed; for big-endian, the 4 MSBs are
parsed.
In the little-endian case, get_int_value() does not propagate the sign bit from
the MSB into the value that is returned.
The large values are accompanied by an expert warning "disclaimer," so these
are at best corner cases that are not advertised to work as expected, but it
would be good to handle them consistently.
You are receiving this mail because:
- You are watching all bug changes.