Hello, I am fairly new to developing Dissectors for Wireshark. I started with the small sample from the Wireshark Developers Guide and changed a few things(Strings and Port).
My Plugin looks like this: #ifdef HAVE_CONFIG_H # include "config.h" #endif #include <epan/packet.h> #define TESTDISSECT_PORT 12345 static int proto_testdissect = -1; void proto_register_testdissect(void) { proto_slapml = proto_register_protocol("TestDissectorProtocol", /* name */ "TestDissector", /* short name */ "tdissect" /* abbrev */ ); } static void dissect_testdissect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { col_set_str(pinfo->cinfo, COL_PROTOCOL, "TestDissector"); /* Clear out stuff in the info column */ col_clear(pinfo->cinfo, COL_INFO); if (tree) { /* we are being asked for details */ proto_item *ti = NULL; ti = proto_tree_add_item(tree, proto_testdissect, tvb, 0, -1, FALSE); } } void proto_reg_handoff_testdissect(void) { static dissector_handle_t testdissect_handle; testdissect_handle = create_dissector_handle(dissect_testdissect, proto_testdissect); dissector_add("tcp.port", TESTDISSECT_PORT, testdissect_handle); } The plugin is working up to a certain point. I generated traffic for the specified port and the text "TestDissector"in the "Protocol"-column is shown. But when I try to select a package, which is dissected by my own dissector, I get a Segmentation Fault at this line "*g_assert(cinfo->col_first[el] >= 0);*" in the method *col_set_str()* of the class *column-utils.c*. Can anybody tell me, why this happens? Obviously this method-call works the first time, because the text "TestDissector" is shown in the protocol-column. It appears to fail the second time, when this function is called. Regards, Patrick ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe