From d0e7a39a9509af4c17cbeadbbf6fc14d630344cc Mon Sep 17 00:00:00 2001 From: Slava Monich Date: Tue, 22 Apr 2014 14:18:33 +0300 Subject: [PATCH] [mms-dump] Fixed decoding of PDUs containing no attachments --- mms-dump/mms-dump.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/mms-dump/mms-dump.c b/mms-dump/mms-dump.c index dd85da6..784a647 100644 --- a/mms-dump/mms-dump.c +++ b/mms-dump/mms-dump.c @@ -955,17 +955,16 @@ mms_decode_data( printf("MMS headers:\n"); wsp_header_iter_init(&iter, data, len, WSP_HEADER_ITER_FLAG_REJECT_CP | WSP_HEADER_ITER_FLAG_DETECT_MMS_MULTIPART); - if (mms_message_decode_headers(&iter, " ", flags) && - (wsp_header_iter_at_end(&iter) || - wsp_header_iter_is_content_type(&iter))) { - - if (wsp_header_iter_is_multipart(&iter)) { - if (mms_decode_multipart(&iter, flags) && - wsp_header_iter_at_end(&iter)) { - return RET_OK; - } - } else { - if (mms_decode_attachment(&iter, flags)) { + if (mms_message_decode_headers(&iter, " ", flags)) { + if (wsp_header_iter_at_end(&iter)) { + return RET_OK; + } else if (wsp_header_iter_is_content_type(&iter)) { + if (wsp_header_iter_is_multipart(&iter)) { + if (mms_decode_multipart(&iter, flags) && + wsp_header_iter_at_end(&iter)) { + return RET_OK; + } + } else if (mms_decode_attachment(&iter, flags)) { return RET_OK; } }