aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--epan/dissectors/packet-http.c18
2 files changed, 11 insertions, 8 deletions
diff --git a/AUTHORS b/AUTHORS
index 26a4adaf06..c382b7f327 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -2653,6 +2653,7 @@ Daniel Black <dragonheart [AT] gentoo.org>
Christoph Werle <Christoph.Werle [AT] ira.uka.de>
Aaron Christensen <aaronmf [AT] gmail.com>
Ian Abel <ianabel [AT] mxtelecom.com>
+Bryant Eastham <beastham [AT] slc.mew.com>
Alain Magloire <alainm[AT]rcsm.ece.mcgill.ca> was kind enough to
give his permission to use his version of snprintf.c.
diff --git a/epan/dissectors/packet-http.c b/epan/dissectors/packet-http.c
index c3995a6d6c..da33b3fe33 100644
--- a/epan/dissectors/packet-http.c
+++ b/epan/dissectors/packet-http.c
@@ -1097,12 +1097,6 @@ dissect_http_message(tvbuff_t *tvb, int offset, packet_info *pinfo,
handle = dissector_get_string_handle(
media_type_subdissector_table,
headers.content_type);
- /*
- * Calling the default media handle otherwise
- */
- if (handle == NULL) {
- handle = media_handle;
- }
}
if (handle != NULL) {
/*
@@ -1127,8 +1121,16 @@ dissect_http_message(tvbuff_t *tvb, int offset, packet_info *pinfo,
if (ti != NULL)
proto_item_set_len(ti, offset);
} else {
- /* Call the subdissector (defaults to data) */
- http_payload_subdissector(next_tvb, tree, http_tree, pinfo);
+ if (headers.content_type != NULL) {
+ /*
+ * Calling the default media handle if there is a content-type that
+ * wasn't handled above.
+ */
+ call_dissector(media_handle, next_tvb, pinfo, tree);
+ } else {
+ /* Call the subdissector (defaults to data), otherwise. */
+ http_payload_subdissector(next_tvb, tree, http_tree, pinfo);
+ }
}
body_dissected: