From 7541b470206726239051a0453ceeb377d80cb19d Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Mon, 14 Oct 2013 18:16:11 +0000 Subject: Try to pptimize heuristics slightly. svn path=/trunk/; revision=52603 --- epan/dissectors/packet-artnet.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'epan/dissectors/packet-artnet.c') diff --git a/epan/dissectors/packet-artnet.c b/epan/dissectors/packet-artnet.c index f5d44ad449..71ea5d053b 100644 --- a/epan/dissectors/packet-artnet.c +++ b/epan/dissectors/packet-artnet.c @@ -3133,14 +3133,15 @@ dissect_artnet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { static gboolean dissect_artnet_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { - static const char artnet_packet_id[] = "Art-Net\0"; + guint64 qword; /* check if we atleast have the 8 byte header */ - if (tvb_length(tvb) < sizeof(artnet_packet_id)) + if (tvb_length(tvb) < 8) return FALSE; - /* Check the 8 byte header */ - if (tvb_memeql(tvb, 0, artnet_packet_id, sizeof(artnet_packet_id) - 1) != 0) + /* Check the 8 byte header "Art-Net\0" = 0x4172742d4e7400*/ + qword = tvb_get_ntoh64(tvb,0); + if(qword != G_GINT64_CONSTANT (0x4172742d4e7400U)) return FALSE; /* if the header matches, dissect it */ -- cgit v1.2.3