summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2011-11-10 15:25:03 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-10 15:25:03 +0000
commit99d858b04b27b51e346fb5d3860e6953cee64ecd (patch)
tree2564c53073ff5aeb8e96149c842d1269bbea9222
parent2e97db4981e7773e84deee37c394748076b1aafd (diff)
parenta092ba5667e9c055f4d5c83296c8c81471695747 (diff)
am a092ba56: am e562287c: Merge "[maguro] Update COMPREHENSION-TLV parser in CAT" into ics-mr0
* commit 'a092ba5667e9c055f4d5c83296c8c81471695747': [maguro] Update COMPREHENSION-TLV parser in CAT
-rw-r--r--telephony/java/com/android/internal/telephony/cat/ComprehensionTlv.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/telephony/java/com/android/internal/telephony/cat/ComprehensionTlv.java b/telephony/java/com/android/internal/telephony/cat/ComprehensionTlv.java
index 99f662d9ee27..e5a2d31e5562 100644
--- a/telephony/java/com/android/internal/telephony/cat/ComprehensionTlv.java
+++ b/telephony/java/com/android/internal/telephony/cat/ComprehensionTlv.java
@@ -1,5 +1,5 @@
/*
- * 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);
- items.add(ctlv);
- startIndex = ctlv.mValueIndex + ctlv.mLength;
+ 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;