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

Commit 48833b2b authored by Android Build Merger (Role)'s avatar Android Build Merger (Role)
Browse files

[automerger] Add packet length checks in l2cble_process_sig_cmd am: fb614b99

Change-Id: If6a5bdde9eee5540844938956063199c9e640da3
parents e6b755da fb614b99
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include "btm_int.h"
#include "hcimsgs.h"
#include "device/include/controller.h"
#include "log/log.h"

#if (BLE_INCLUDED == TRUE)
static void l2cble_start_conn_update (tL2C_LCB *p_lcb);
@@ -601,6 +602,13 @@ void l2cble_process_sig_cmd (tL2C_LCB *p_lcb, UINT8 *p, UINT16 pkt_len)

    p_pkt_end = p + pkt_len;

    if (p + 4 > p_pkt_end)
    {
        android_errorWriteLog(0x534e4554, "80261585");
        L2CAP_TRACE_WARNING ("%s bad packet length", __func__);
        return;
    }

    STREAM_TO_UINT8  (cmd_code, p);
    STREAM_TO_UINT8  (id, p);
    STREAM_TO_UINT16 (cmd_len, p);
@@ -625,6 +633,12 @@ void l2cble_process_sig_cmd (tL2C_LCB *p_lcb, UINT8 *p, UINT16 pkt_len)
            break;

        case L2CAP_CMD_BLE_UPDATE_REQ:
            if (p + 8 > p_pkt_end)
            {
                android_errorWriteLog(0x534e4554, "80261585");
                L2CAP_TRACE_WARNING ("%s bad update_req packet length", __func__);
                return;
            }
            STREAM_TO_UINT16 (min_interval, p); /* 0x0006 - 0x0C80 */
            STREAM_TO_UINT16 (max_interval, p); /* 0x0006 - 0x0C80 */
            STREAM_TO_UINT16 (latency, p);  /* 0x0000 - 0x03E8 */