fix uart out of bounds warning

This commit is contained in:
MichaelDvP
2021-03-22 17:05:56 +01:00
parent 355b71cacf
commit 71dfc0e1eb
2 changed files with 6 additions and 4 deletions

View File

@@ -67,8 +67,10 @@ void IRAM_ATTR EMSuart::emsuart_rx_intr_handler(void * para) {
drop_next_rx_ = true; // we have a overflow drop_next_rx_ = true; // we have a overflow
} }
} }
if (rxbuf[length - 1]) { // check if last byte is break if (length > 0 && length < EMS_MAXBUFFERSIZE) {
length++; if (rxbuf[length - 1]) { // check if last byte is break
length++;
}
} }
if ((!drop_next_rx_) && ((length == 2) || (length > 4))) { if ((!drop_next_rx_) && ((length == 2) || (length > 4))) {
int baseType = 0; int baseType = 0;

View File

@@ -46,10 +46,10 @@
#define EMS_TXMODE_HW 4 #define EMS_TXMODE_HW 4
// LEGACY // LEGACY
#define EMSUART_TX_BIT_TIME 104 // bit time @9600 baud #define EMSUART_TX_BIT_TIME 104 // bit time @9600 baud
// EMS 1.0 // EMS 1.0
#define EMSUART_TX_BUSY_WAIT (EMSUART_TX_BIT_TIME / 8) // 13 #define EMSUART_TX_BUSY_WAIT (EMSUART_TX_BIT_TIME / 8) // 13
#define EMSUART_TX_TIMEOUT (20 * EMSUART_TX_BIT_TIME / EMSUART_TX_BUSY_WAIT) #define EMSUART_TX_TIMEOUT (20 * EMSUART_TX_BIT_TIME / EMSUART_TX_BUSY_WAIT)
#define EMSUART_TX_BRK_EMS (EMSUART_TX_BIT_TIME * 10) #define EMSUART_TX_BRK_EMS (EMSUART_TX_BIT_TIME * 10)