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

Commit ed5479dd authored by Xiao Ma's avatar Xiao Ma Committed by Automerger Merge Worker
Browse files

Merge "Fix the potential BufferUnderflowException when parsing ByteBuffer."...

Merge "Fix the potential BufferUnderflowException when parsing ByteBuffer." into rvc-dev am: 2bd9ba89 am: 611329e4 am: fad54e43

Change-Id: Ieb188e6ab484847bb36831d9b0e0397182469a42
parents e939c507 fad54e43
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -29,7 +29,9 @@ import android.net.ScanResultInfoParcelable;
import android.net.StaticIpConfiguration;
import android.net.apf.ApfCapabilities;
import android.net.ip.IIpClient;
import android.util.Log;

import java.nio.BufferUnderflowException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
@@ -61,6 +63,8 @@ import java.util.StringJoiner;
 * @hide
 */
public class ProvisioningConfiguration {
    private static final String TAG = "ProvisioningConfiguration";

    // TODO: Delete this default timeout once those callers that care are
    // fixed to pass in their preferred timeout.
    //
@@ -281,7 +285,7 @@ public class ProvisioningConfiguration {
            public InformationElementParcelable toStableParcelable() {
                final InformationElementParcelable p = new InformationElementParcelable();
                p.id = mId;
                p.payload = mPayload.clone();
                p.payload = mPayload != null ? mPayload.clone() : null;
                return p;
            }

@@ -367,12 +371,18 @@ public class ProvisioningConfiguration {

        private static byte[] convertToByteArray(final ByteBuffer buffer) {
            if (buffer == null) return null;
            byte[] bytes = new byte[buffer.limit()];
            final byte[] bytes = new byte[buffer.limit()];
            final ByteBuffer copy = buffer.asReadOnlyBuffer();
            try {
                copy.position(0);
                copy.get(bytes);
            } catch (BufferUnderflowException e) {
                Log.wtf(TAG, "Buffer under flow exception should never happen.");
            } finally {
                return bytes;
            }
        }
    }

    public boolean mEnableIPv4 = true;
    public boolean mEnableIPv6 = true;