Index: packet-srvloc.c
===================================================================
RCS file: /cvsroot/ethereal/packet-srvloc.c,v
retrieving revision 1.42
diff -u -r1.42 packet-srvloc.c
--- packet-srvloc.c	18 Aug 2003 18:06:06 -0000	1.42
+++ packet-srvloc.c	1 Oct 2003 19:46:32 -0000
@@ -963,6 +963,9 @@
     /*
      * Get the length of the SRVLOC packet.
      */
+    if (tvb_get_guint8(tvb, offset) == 2) {
+        return tvb_get_ntohs(tvb, offset + 3);
+    }
     return tvb_get_ntohs(tvb, offset + 2);
 }
 
@@ -1443,7 +1446,6 @@
 proto_reg_handoff_srvloc(void)
 {
     dissector_handle_t srvloc_handle, srvloc_tcp_handle;
-
     srvloc_handle = create_dissector_handle(dissect_srvloc, proto_srvloc);
     dissector_add("udp.port", UDP_PORT_SRVLOC, srvloc_handle);
     srvloc_tcp_handle = create_dissector_handle(dissect_srvloc_tcp,
