[NAN] TLV utilities iterator - throw correct exception
Make sure that iterator.next() validates that next element exists -
otherwise throw the exception specified by the interface.
Bug: 30096512
Change-Id: I327da433e3f1181e272c81ee503cbe8aab323f7e
(cherry picked from commit 3e5ac12302a78216e706be239dceb5175646bea0)
diff --git a/wifi/java/android/net/wifi/nan/TlvBufferUtils.java b/wifi/java/android/net/wifi/nan/TlvBufferUtils.java
index 8ad9fa3..7ce24d5 100644
--- a/wifi/java/android/net/wifi/nan/TlvBufferUtils.java
+++ b/wifi/java/android/net/wifi/nan/TlvBufferUtils.java
@@ -24,6 +24,7 @@
import java.nio.ByteOrder;
import java.util.Arrays;
import java.util.Iterator;
+import java.util.NoSuchElementException;
/**
* Utility class to construct and parse byte arrays using the TLV format -
@@ -464,6 +465,10 @@
@Override
public TlvElement next() {
+ if (!hasNext()) {
+ throw new NoSuchElementException();
+ }
+
int type = 0;
if (mTypeSize == 1) {
type = mArray[mOffset];