Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 9525] New: Fix signed/unsigned mismatch in ErlDP dissector

Date: Sat, 07 Dec 2013 14:45:22 +0000
Bug ID 9525
Summary Fix signed/unsigned mismatch in ErlDP dissector
Classification Unclassified
Product Wireshark
Version unspecified
Hardware All
OS All
Status UNCONFIRMED
Severity Enhancement
Priority Low
Component Wireshark
Assignee [email protected]
Reporter [email protected]

Created attachment 12258 [details]
Initial patch

Build Information:
wireshark 1.11.3 (SVN Rev Unknown from unknown)

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.22, with Cairo 1.13.1, with Pango 1.36.1, with
GLib 2.38.2, with libpcap, with libz 1.2.8, with POSIX capabilities (Linux),
without libnl, with SMI 0.4.8, with c-ares 1.10.0, with Lua 5.2, without
Python,
with GnuTLS 3.1.17, with Gcrypt 1.5.3, with MIT Kerberos, with GeoIP, with
PortAudio V19-devel (built Aug  4 2013 06:59:20), with AirPcap.

Running on Linux 3.11.9-300.fc20.x86_64, with locale ru_RU.UTF-8, with libpcap
version 1.5.0, with libz 1.2.8, GnuTLS 3.1.17, Gcrypt 1.5.3, without AirPcap.
       Intel(R) Core(TM) i5-2415M CPU @ 2.30GHz

Built using gcc 4.8.2 20131017 (Red Hat 4.8.2-1).
--
Hello All!

This patch fixes few fields parsed using wrong signedness.

This part isn't well documented so we have to carefully read docs. Although the
common sense tells us that a length can't be negative, we'd love to have it
stated clearly. Unfortunately instead of explicitly telling us which fields has
which signedness the Erlang authors either forget to do that completely or made
it implicitly - by stating that some given field contains an integer value (w/o
telling its signedness) and later defining a value range for that. For example
"The range is 0 <= AtomCacheReferenceIndex < 255" which clearly means unsigned.

See these links for further investigation:

* http://www.erlang.org/doc/apps/erts/erl_ext_dist.html
* https://github.com/matwey/pybeam/blob/master/pybeam/eetf_construct.py
* https://github.com/therve/twotp/tree/master/twotp
* https://github.com/goerlang/etf


You are receiving this mail because:
  • You are watching all bug changes.