update code to use osi_free()

This commit is contained in:
tgotic
2022-08-11 18:14:35 +02:00
committed by xiongweichao
parent 879466e0cb
commit 810667fc1e

View File

@ -234,7 +234,8 @@ bt_status_t btc_transfer_context(btc_msg_t *msg, void *arg, int arg_len, btc_arg
{ {
btc_msg_t* lmsg; btc_msg_t* lmsg;
if (msg == NULL) { // arg XOR arg_len
if ((msg == NULL) || ((arg == NULL) == !(arg_len == 0))) {
return BT_STATUS_PARM_INVALID; return BT_STATUS_PARM_INVALID;
} }
@ -249,7 +250,7 @@ bt_status_t btc_transfer_context(btc_msg_t *msg, void *arg, int arg_len, btc_arg
if (arg) { if (arg) {
lmsg->arg = (void *)osi_malloc(arg_len); lmsg->arg = (void *)osi_malloc(arg_len);
if (lmsg->arg == NULL) { if (lmsg->arg == NULL) {
free(lmsg); osi_free(lmsg);
return BT_STATUS_NOMEM; return BT_STATUS_NOMEM;
} }
memset(lmsg->arg, 0x00, arg_len); //important, avoid arg which have no length memset(lmsg->arg, 0x00, arg_len); //important, avoid arg which have no length