diff options
-rw-r--r-- | plugins/epan/irda/packet-irda.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/epan/irda/packet-irda.c b/plugins/epan/irda/packet-irda.c index 6b3fefb140..780d6591c2 100644 --- a/plugins/epan/irda/packet-irda.c +++ b/plugins/epan/irda/packet-irda.c @@ -579,6 +579,12 @@ static void dissect_iap_request(tvbuff_t* tvb, packet_info* pinfo, proto_tree* r iap_conv = wmem_new(wmem_file_scope(), iap_conversation_t); conversation_add_proto_data(conv, proto_iap, (void*)iap_conv); } + if (iap_conv) + { + iap_conv->pnext = NULL; + iap_conv->iap_query_frame = pinfo->num; + iap_conv->pattr_dissector = NULL; + } char *class_name = (char *) tvb_get_string_enc(wmem_packet_scope(), tvb, offset + 1 + 1, clen, ENC_ASCII|ENC_NA); char *attr_name = (char *) tvb_get_string_enc(wmem_packet_scope(), tvb, offset + 1 + 1 + clen + 1, alen, ENC_ASCII|ENC_NA); @@ -592,10 +598,6 @@ static void dissect_iap_request(tvbuff_t* tvb, packet_info* pinfo, proto_tree* r { int i, j; - iap_conv->pnext = NULL; - iap_conv->iap_query_frame = pinfo->num; - iap_conv->pattr_dissector = NULL; - /* Find the attribute dissector */ for (i = 0; class_dissector[i].class_name != NULL; i++) if (strcmp(class_name, class_dissector[i].class_name) == 0) |