summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--stack/smp/smp_act.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/stack/smp/smp_act.c b/stack/smp/smp_act.c
index 119fd4de6..4c6136ab9 100644
--- a/stack/smp/smp_act.c
+++ b/stack/smp/smp_act.c
@@ -17,6 +17,7 @@
******************************************************************************/
#include <string.h>
+#include <log/log.h>
#include "device/include/interop.h"
#include "include/bt_target.h"
#include "stack/btm/btm_int.h"
@@ -770,14 +771,20 @@ void smp_process_keypress_notification(tSMP_CB *p_cb, tSMP_INT_DATA *p_data)
UINT8 reason = SMP_INVALID_PARAMETERS;
SMP_TRACE_DEBUG("%s", __func__);
- p_cb->status = *(UINT8 *)p_data;
if (smp_command_has_invalid_parameters(p_cb))
{
+ if (p_cb->rcvd_cmd_len < 2)
+ {
+ // 1 (opcode) + 1 (Notif Type) bytes
+ android_errorWriteLog(0x534e4554, "111936834");
+ }
smp_sm_event(p_cb, SMP_AUTH_CMPL_EVT, &reason);
return;
}
+ p_cb->status = *(UINT8 *)p_data;
+
if (p != NULL)
{
STREAM_TO_UINT8(p_cb->peer_keypress_notification, p);