aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/atm.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2006-11-29 06:44:07 +0000
committerAnders Broman <anders.broman@ericsson.com>2006-11-29 06:44:07 +0000
commit6c9ce8acf8610f9c5ff99215eb3650ec0b6e0688 (patch)
tree8ec6fc9d92c3351e1dec0eec3a14a7a1290a6155 /wiretap/atm.c
parent35482921b20efde6d5856cad5df217bfabd323c8 (diff)
Froim Rene Pilz:
This patch consists also the last issues. Additionally it solves: - For the SSCOP frames the AAL5 decoding was not performed due to an earlier patch. This caused that no SSCOP message was properly decoded. - As the detection between a LANE frame and a SSCOP frame is rather hard a switch within the atm dissector is included which enforce SSCOP dissecting over a LANE frame. At the moment I do not see a better solution for that. svn path=/trunk/; revision=20013
Diffstat (limited to 'wiretap/atm.c')
-rw-r--r--wiretap/atm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/wiretap/atm.c b/wiretap/atm.c
index 7882e73898..e7021cb9f3 100644
--- a/wiretap/atm.c
+++ b/wiretap/atm.c
@@ -74,6 +74,7 @@ atm_guess_traffic_type(const guint8 *pd, guint32 len,
* guessing based on the contents, if we have enough data
* to guess.
*/
+
if (len >= 3) {
if (pd[0] == 0xaa && pd[1] == 0xaa && pd[2] == 0x03) {
/*
@@ -81,7 +82,8 @@ atm_guess_traffic_type(const guint8 *pd, guint32 len,
* multiplexed RFC 1483 traffic.
*/
pseudo_header->atm.type = TRAF_LLCMX;
- } else if (len < 16) {
+ } else if ((pseudo_header->atm.aal5t_len &&
+ pseudo_header->atm.aal5t_len < 16) || len<16) {
/*
* As this cannot be a LANE Ethernet frame (less
* than 2 bytes of LANE header + 14 bytes of