diff options
author | Marco Nelissen <marcone@google.com> | 2017-05-12 22:11:51 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-05-12 22:11:51 +0000 |
commit | bd23571132e096c8a78739d5b6576afabd1d795e (patch) | |
tree | 69239725d1cfbb7e334d42937317f1b6a61d5817 | |
parent | ba291cd5f4d301f33f026b3d4af8750976f871d4 (diff) | |
parent | bccb2e77a46124b9336e4e54d23d179acbf5147a (diff) | |
download | sonivox-bd23571132e096c8a78739d5b6576afabd1d795e.tar.gz |
Merge "Fix infinite recursion" into klp-dev am: 45712137ea am: e49d1304e7 am: 6483a95ccf am: bb6bfa8f5a am: e090def747 am: cd0a4ac609 am: 3454ab70d6 am: 219f65ba81 am: 016843f3e3 am: 0ca627b3f5 am: fe21703054 am: 052785ce3b am: a681031d28 am: f0aa0bd609
am: bccb2e77a4
Change-Id: Idac8e1bb3ffd6b6a41f3539c60ec9e29614a81cf
-rw-r--r-- | arm-wt-22k/lib_src/eas_xmf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arm-wt-22k/lib_src/eas_xmf.c b/arm-wt-22k/lib_src/eas_xmf.c index 830b6e5..169eb7e 100644 --- a/arm-wt-22k/lib_src/eas_xmf.c +++ b/arm-wt-22k/lib_src/eas_xmf.c @@ -27,6 +27,8 @@ *---------------------------------------------------------------------------- */ +#include <log/log.h> + #include "eas_data.h" #include "eas_miditypes.h" #include "eas_parser.h" @@ -649,6 +651,11 @@ static EAS_RESULT XMF_ReadNode (EAS_HW_DATA_HANDLE hwInstData, S_XMF_DATA *pXMFD for ( ; numItems > 0; numItems--) { /* process this item */ + if (offset <= nodeOffset) { + ALOGE("b/36725407: parser did not advance"); + return EAS_ERROR_FILE_FORMAT; + } + if ((result = XMF_ReadNode(hwInstData, pXMFData, offset, &length)) != EAS_SUCCESS) return result; |