OSDN Git Service

DO NOT MERGE Fix a wrong check in rfc_parse_data
authorHansong Zhang <hsz@google.com>
Fri, 13 Jul 2018 20:43:27 +0000 (13:43 -0700)
committerHansong Zhang <hsz@google.com>
Fri, 13 Jul 2018 20:43:27 +0000 (13:43 -0700)
Bug: 78288018
Bug: 111436796
Test: manual
Change-Id: I16e6026acbaac230fe1453bbac040d1b75bcea2a

stack/rfcomm/rfc_ts_frames.c

index e8a874a..5e5f2e1 100644 (file)
@@ -558,7 +558,7 @@ UINT8 rfc_parse_data (tRFC_MCB *p_mcb, MX_FRAME *p_frame, BT_HDR *p_buf)
     RFCOMM_PARSE_TYPE_FIELD (p_frame->type, p_frame->pf, p_data);
     eal = *p_data & RFCOMM_EA;
     len = (*p_data++ >> RFCOMM_SHIFT_LENGTH1);
-    if (eal == 0 && p_buf->len < RFCOMM_CTRL_FRAME_LEN) {
+    if (eal == 0 && p_buf->len > RFCOMM_CTRL_FRAME_LEN) {
         len += (*p_data++ << RFCOMM_SHIFT_LENGTH2);
     } else if (eal == 0) {
         RFCOMM_TRACE_ERROR ("Bad Length when EAL = 0: %d", p_buf->len);