@@ -630,7 +630,7 @@ int HCIClass::sendAclPkt(uint16_t handle, uint8_t cid, uint8_t plen, void* data)
630630 uint16_t cid;
631631 } aclHdr = { HCI_ACLDATA_PKT, handle, uint8_t (plen + 4 ), plen, cid };
632632
633- uint8_t txBuffer[ sizeof (aclHdr) + plen] ;
633+ uint8_t * txBuffer = uint8_t * malloc ( sizeof (aclHdr) + plen) ;
634634 memcpy (txBuffer, &aclHdr, sizeof (aclHdr));
635635 memcpy (&txBuffer[sizeof (aclHdr)], data, plen);
636636
@@ -648,7 +648,8 @@ int HCIClass::sendAclPkt(uint16_t handle, uint8_t cid, uint8_t plen, void* data)
648648
649649 _pendingPkt++;
650650 HCITransport.write (txBuffer, sizeof (aclHdr) + plen);
651-
651+ free (txBuffer);
652+
652653 return 0 ;
653654}
654655
@@ -680,7 +681,7 @@ int HCIClass::sendCommand(uint16_t opcode, uint8_t plen, void* parameters)
680681 uint8_t plen;
681682 } pktHdr = {HCI_COMMAND_PKT, opcode, plen};
682683
683- uint8_t txBuffer[ sizeof (pktHdr) + plen] ;
684+ uint8_t * txBuffer = uint8_t * malloc ( sizeof (pktHdr) + plen) ;
684685 memcpy (txBuffer, &pktHdr, sizeof (pktHdr));
685686 memcpy (&txBuffer[sizeof (pktHdr)], parameters, plen);
686687
@@ -705,6 +706,8 @@ int HCIClass::sendCommand(uint16_t opcode, uint8_t plen, void* parameters)
705706 poll ();
706707 }
707708
709+ free (txBuffer);
710+
708711 return _cmdCompleteStatus;
709712}
710713
0 commit comments