From Matt Dainty:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 6 Feb 2012 17:27:36 +0000 (17:27 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 6 Feb 2012 17:27:36 +0000 (17:27 +0000)
Add array datatype parsing to AMQP dissector.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6791

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@40879 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-amqp.c

index d6e00d1..3d42d0a 100644 (file)
@@ -2067,6 +2067,20 @@ dissect_amqp_0_9_field_table(tvbuff_t *tvb, packet_info *pinfo, int offset, guin
             amqp_typename = "void";
             value = "";
             break;
+        case 'A':
+            /*  TODO: make it recursive here  */
+            amqp_typename = "array";
+            if (length < 4)
+                goto too_short;
+            vallen = tvb_get_ntohl(tvb, offset);
+            offset += 4;
+            length -= 4;
+            value = "...";
+            if (length < vallen)
+                goto too_short;
+            offset += vallen;
+            length -= vallen;
+            break;
         default:
             amqp_typename = "";
             value = NULL;