summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2017-05-12 21:43:45 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-05-12 21:43:45 +0000
commit0ca627b3f593597c3a0e839e595c3b268fe9c05d (patch)
treea3ec184d5cc7a41addf1785cfed92d400c0c77d7
parentf997858e13a7e2f0bcf26082fa54d1e81f1ab110 (diff)
parent016843f3e3fd4df68d8a190d9de5a75de8c1ede2 (diff)
downloadsonivox-0ca627b3f593597c3a0e839e595c3b268fe9c05d.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 Change-Id: Ic5f511382c2b265307ba216925075e6462773509
-rw-r--r--arm-wt-22k/lib_src/eas_xmf.c7
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;