diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 17:44:25 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 17:44:25 +0000 |
commit | f59ea5f7690c9a01ef6f7f6508084a66c40b1dae (patch) | |
tree | 482ee255d71f113be6c62e9ff3543fd6ebb9f12a /epan/dissectors/packet-icq.c | |
parent | Releasing progress-linux version 4.2.2-1.1~progress7.99u1. (diff) | |
download | wireshark-f59ea5f7690c9a01ef6f7f6508084a66c40b1dae.tar.xz wireshark-f59ea5f7690c9a01ef6f7f6508084a66c40b1dae.zip |
Merging upstream version 4.2.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/packet-icq.c')
-rw-r--r-- | epan/dissectors/packet-icq.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/epan/dissectors/packet-icq.c b/epan/dissectors/packet-icq.c index 93e55bd..2df62ee 100644 --- a/epan/dissectors/packet-icq.c +++ b/epan/dissectors/packet-icq.c @@ -786,6 +786,7 @@ icqv5_srv_user_online(proto_tree *tree,/* Tree to put the data in */ } static void +// NOLINTNEXTLINE(misc-no-recursion) icqv5_srv_multi(proto_tree *tree, /* Tree to put the data in */ tvbuff_t *tvb, /* Packet content */ int offset, /* Offset from the start of the packet to the content */ @@ -804,6 +805,7 @@ icqv5_srv_multi(proto_tree *tree, /* Tree to put the data in */ for (i = 0; i < num; i++) { pktSz = tvb_get_letohs(tvb, offset); offset += 2; + // We recurse here, but we'll run out of packet before we run out of stack. dissect_icqv5Server(tvb, offset, pinfo, tree, pktSz); offset += pktSz; } @@ -1123,6 +1125,7 @@ dissect_icqv5Client(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } static void +// NOLINTNEXTLINE(misc-no-recursion) dissect_icqv5Server(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int pktsize) { @@ -1180,6 +1183,7 @@ dissect_icqv5Server(tvbuff_t *tvb, int offset, packet_info *pinfo, pktsize - ICQ5_SRV_HDRSIZE, pinfo); break; case SRV_MULTI: + // We recurse here, but we'll run out of packet before we run out of stack. icqv5_srv_multi(icq_body_tree, tvb, offset + ICQ5_SRV_HDRSIZE, pinfo); break; case SRV_ACK: |