From cb1664bb4f0eab47d94e327370c54c8e85906846 Mon Sep 17 00:00:00 2001 From: DashyFox Date: Wed, 28 Feb 2024 13:11:29 +0300 Subject: [PATCH] add nullptr protect --- IR_Encoder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IR_Encoder.cpp b/IR_Encoder.cpp index 03c16f3..cfded70 100644 --- a/IR_Encoder.cpp +++ b/IR_Encoder.cpp @@ -53,7 +53,7 @@ void IR_Encoder::sendData(uint16_t addrTo, uint8_t* data, uint8_t len, bool need sendBuffer[3] = addrTo >> 8 & 0xFF; sendBuffer[4] = addrTo & 0xFF; - for (uint16_t i = dataStart; i < dataStart + len; i++) { + for (uint16_t i = dataStart; (i < dataStart + len) && (data != nullptr); i++) { sendBuffer[i] = ((uint8_t*)data)[i - dataStart]; } @@ -95,7 +95,7 @@ void IR_Encoder::sendAccept(uint16_t addrTo, uint8_t customByte = 0) { } void IR_Encoder::sendRequest(uint16_t addrTo) { - constexpr uint8_t packsize = msgBytes + addrBytes + addrBytes + crcBytes; + constexpr uint8_t packsize = msgBytes + addrBytes + addrBytes + crcBytes; memset(sendBuffer, 0x00, dataByteSizeMax); sendBuffer[0] = IR_MSG_REQUEST << 5; sendBuffer[0] |= packsize & IR_MASK_MSG_INFO;