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

Commit 1c0778dd authored by Hemant Gupta's avatar Hemant Gupta Committed by android-build-merger
Browse files

Merge "OBEX : Handle Negative index Exception"

am: 08d23cf0

Change-Id: Icd513d2060cf1e8fe8fcd06bbedfc0ef5bf5a6fd
parents cd899294 08d23cf0
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -80,6 +80,9 @@ public final class ObexHelper {
    // The minimum allowed max packet size is 255 according to the OBEX specification
    public static final int LOWER_LIMIT_MAX_PACKET_SIZE = 255;

    // The length of OBEX Byte Sequency Header Id according to the OBEX specification
    public static final int OBEX_BYTE_SEQ_HEADER_LEN = 0x03;

    /**
     * Temporary workaround to be able to push files to Windows 7.
     * TODO: Should be removed as soon as Microsoft updates their driver.
@@ -205,12 +208,15 @@ public final class ObexHelper {
                    case 0x40:
                        boolean trimTail = true;
                        index++;
                        length = 0xFF & headerArray[index];
                        length = length << 8;
                        index++;
                        length += 0xFF & headerArray[index];
                        length -= 3;
                        index++;
                        length = ((0xFF & headerArray[index]) << 8) +
                                 (0xFF & headerArray[index + 1]);
                        index += 2;
                        if (length <= OBEX_BYTE_SEQ_HEADER_LEN) {
                            Log.e(TAG, "Remote sent an OBEX packet with " +
                                  "incorrect header length = " + length);
                            break;
                        }
                        length -= OBEX_BYTE_SEQ_HEADER_LEN;
                        value = new byte[length];
                        System.arraycopy(headerArray, index, value, 0, length);
                        if (length == 0 || (length > 0 && (value[length - 1] != 0))) {