diff --git a/mms-lib/src/mms_codec.c b/mms-lib/src/mms_codec.c index 355c3c3..b7fd67f 100644 --- a/mms-lib/src/mms_codec.c +++ b/mms-lib/src/mms_codec.c @@ -1020,10 +1020,10 @@ static gboolean mms_parse_headers(struct wsp_header_iter *iter, p = wsp_header_iter_get_hdr(iter); h = p[0] & 0x7f; - /* Stop parsing when we see an unknown header */ + /* Unknown header, skip */ handler = handler_for_type(h); if (handler == NULL) - break; + continue; /* Unsupported header, skip */ if (entries[h].data == NULL) diff --git a/mms-lib/test/mms_codec/data/m-retrieve_8.conf b/mms-lib/test/mms_codec/data/m-retrieve_8.conf new file mode 100644 index 0000000..c9d5e98 Binary files /dev/null and b/mms-lib/test/mms_codec/data/m-retrieve_8.conf differ diff --git a/mms-lib/test/mms_codec/test_mms_codec.c b/mms-lib/test/mms_codec/test_mms_codec.c index bb94be0..9bb8b96 100644 --- a/mms-lib/test/mms_codec/test_mms_codec.c +++ b/mms-lib/test/mms_codec/test_mms_codec.c @@ -65,6 +65,7 @@ int main(int argc, char* argv[]) "m-retrieve_5.conf", "m-retrieve_6.conf", "m-retrieve_7.conf", + "m-retrieve_8.conf", "m-notifyresp.ind", "m-read-rec.ind", "m-send_1.req",