aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-jxta.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-11-22 20:47:59 -0500
committerAnders Broman <a.broman58@gmail.com>2014-11-25 15:18:05 +0000
commite3a04bb392824781b8a3ef6ec98a37ef96c6c827 (patch)
treec51c48f12e302c76bc2c1619d24b9787384db261 /epan/dissectors/packet-jxta.c
parent7f22ce7f6610333f4b40dfad6cde22e352abae6f (diff)
Ensure dissector data parameter is used instead of pinfo->private_data when passing data between dissectors using the "media_type" subdissector.
Change-Id: I82cbfed770b41404bc42cb6a4413db07d04dffdc Reviewed-on: https://code.wireshark.org/review/5462 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-jxta.c')
-rw-r--r--epan/dissectors/packet-jxta.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/epan/dissectors/packet-jxta.c b/epan/dissectors/packet-jxta.c
index d73d796f03..2e4ec17010 100644
--- a/epan/dissectors/packet-jxta.c
+++ b/epan/dissectors/packet-jxta.c
@@ -2049,16 +2049,12 @@ static int dissect_media( const gchar* fullmediatype, tvbuff_t * tvb, packet_inf
gchar *mediatype = wmem_strdup(wmem_packet_scope(), fullmediatype);
gchar *parms_at = strchr(mediatype, ';');
const char *save_match_string = pinfo->match_string;
- void * save_private_data = pinfo->private_data;
char *media_str = NULL;
/* Based upon what is done in packet-media.c we set up type and params */
if (NULL != parms_at) {
- pinfo->private_data = wmem_strdup( wmem_packet_scope(), parms_at + 1 );
- media_str = (char*)pinfo->private_data;
+ media_str = wmem_strdup( wmem_packet_scope(), parms_at + 1 );
*parms_at = '\0';
- } else {
- pinfo->private_data = NULL;
}
/* Set the version that goes to packet-media.c before converting case */
@@ -2088,7 +2084,7 @@ static int dissect_media( const gchar* fullmediatype, tvbuff_t * tvb, packet_inf
}
}
} else {
- dissected = dissector_try_string(media_type_dissector_table, mediatype, tvb, pinfo, tree, NULL) ? tvb_length(tvb) : 0;
+ dissected = dissector_try_string(media_type_dissector_table, mediatype, tvb, pinfo, tree, media_str) ? tvb_length(tvb) : 0;
if( dissected != (int) tvb_length(tvb) ) {
/* g_message( "%s : %d expected, %d dissected", mediatype, tvb_length(tvb), dissected ); */
@@ -2100,12 +2096,11 @@ static int dissect_media( const gchar* fullmediatype, tvbuff_t * tvb, packet_inf
}
pinfo->match_string = save_match_string;
- pinfo->private_data = save_private_data;
}
if(0 == dissected) {
/* display it as raw data */
- dissected = call_dissector_only(data_handle, tvb, pinfo, tree, NULL);
+ dissected = call_dissector(data_handle, tvb, pinfo, tree);
}
return dissected;