Pull request feedback fix: user_data_tx accepts arbitary size

pull/6082/head
Jari Poyhonen 2018-02-19 09:56:31 +02:00 committed by Ari Parkkila
parent 88398bf141
commit 0ee265110a
1 changed files with 6 additions and 2 deletions

View File

@ -1140,14 +1140,18 @@ void Mux::tx_noretransmit_entry_run()
ssize_t Mux::user_data_tx(uint8_t dlci_id, const void* buffer, size_t size)
{
MBED_ASSERT(size <=
(MBED_CONF_MUX_BUFFER_SIZE - (FRAME_START_READ_LEN + FRAME_HEADER_READ_LEN + FRAME_TRAILER_LEN)));
MBED_ASSERT(buffer != NULL);
if (size == 0) {
return 0;
}
const size_t max_payload_size = (MBED_CONF_MUX_BUFFER_SIZE -
(FRAME_START_READ_LEN + FRAME_HEADER_READ_LEN + FRAME_TRAILER_LEN));
if (size > max_payload_size) {
size = max_payload_size;
}
_mutex.lock();
ssize_t write_ret;