Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f0845545 authored by Wink Saville's avatar Wink Saville
Browse files

[maguro] Update COMPREHENSION-TLV parser in CAT



1. Fix the ClassCastException while handling spec out 'Setup menu'
   -Ghana MTN simcard and JDI simcard sends abnormal 'setup menu'cmd.
   -Those 'setup menu' is spec out.
   -At the end of the proactive cmd,extra bytes '0x00 0x00 0x00 0x00' is
   followed.
   - That cause ClassCastException and phone crash.

Bug: 5574160
Change-Id: Ieafb6c4efd94bb4e2a39a04612a6761c958654bb
Signed-off-by: default avatardujin.cha <dujin.cha@samsung.com>
parent fee5f29b
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
/*
 * Copyright (C) 2006 The Android Open Source Project
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -28,6 +28,7 @@ import java.util.List;
 * {@hide}
 */
class ComprehensionTlv {
    private static final String LOG_TAG = "ComprehensionTlv";
    private int mTag;
    private boolean mCr;
    private int mLength;
@@ -88,8 +89,13 @@ class ComprehensionTlv {
        int endIndex = data.length;
        while (startIndex < endIndex) {
            ComprehensionTlv ctlv = ComprehensionTlv.decode(data, startIndex);
            if (ctlv != null) {
                items.add(ctlv);
                startIndex = ctlv.mValueIndex + ctlv.mLength;
            } else {
                CatLog.d(LOG_TAG, "decodeMany: ctlv is null, stop decoding");
                break;
            }
        }

        return items;