1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-12 19:10:32 +03:00

Fix length for manufacturer and board name (#14518)

Fix length
This commit is contained in:
Mark Haslinghuis 2025-07-07 21:38:54 +02:00 committed by GitHub
parent b6d37008f5
commit cbf070af8f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 8 deletions

View file

@ -195,9 +195,9 @@ static const void *cmsx_FirmwareInit(displayPort_t *pDisp)
{ {
UNUSED(pDisp); UNUSED(pDisp);
strncpy(manufacturerId, getManufacturerId(), MAX_MANUFACTURER_ID_LENGTH + 1); strncpy(manufacturerId, getManufacturerId(), MAX_MANUFACTURER_ID_LENGTH);
manufacturerId[MAX_MANUFACTURER_ID_LENGTH] = 0; manufacturerId[MAX_MANUFACTURER_ID_LENGTH] = 0;
strncpy(boardName, getBoardName(), MAX_BOARD_NAME_LENGTH + 1); strncpy(boardName, getBoardName(), MAX_BOARD_NAME_LENGTH);
boardName[MAX_BOARD_NAME_LENGTH] = 0; boardName[MAX_BOARD_NAME_LENGTH] = 0;
return NULL; return NULL;

View file

@ -42,9 +42,9 @@ void initBoardInformation(void)
#if !defined(BOARD_NAME) #if !defined(BOARD_NAME)
boardInformationSet = boardConfig()->boardInformationSet; boardInformationSet = boardConfig()->boardInformationSet;
if (boardInformationSet) { if (boardInformationSet) {
strncpy(manufacturerId, boardConfig()->manufacturerId, MAX_MANUFACTURER_ID_LENGTH + 1); strncpy(manufacturerId, boardConfig()->manufacturerId, MAX_MANUFACTURER_ID_LENGTH);
manufacturerId[MAX_MANUFACTURER_ID_LENGTH] = 0; manufacturerId[MAX_MANUFACTURER_ID_LENGTH] = 0;
strncpy(boardName, boardConfig()->boardName, MAX_BOARD_NAME_LENGTH + 1); strncpy(boardName, boardConfig()->boardName, MAX_BOARD_NAME_LENGTH);
boardName[MAX_BOARD_NAME_LENGTH] = 0; boardName[MAX_BOARD_NAME_LENGTH] = 0;
} }
#endif #endif
@ -88,7 +88,7 @@ bool setManufacturerId(const char *newManufacturerId)
{ {
#if !defined(BOARD_NAME) #if !defined(BOARD_NAME)
if (!boardInformationSet || strlen(manufacturerId) == 0) { if (!boardInformationSet || strlen(manufacturerId) == 0) {
strncpy(manufacturerId, newManufacturerId, MAX_MANUFACTURER_ID_LENGTH + 1); strncpy(manufacturerId, newManufacturerId, MAX_MANUFACTURER_ID_LENGTH);
manufacturerId[MAX_MANUFACTURER_ID_LENGTH] = 0; manufacturerId[MAX_MANUFACTURER_ID_LENGTH] = 0;
boardInformationWasUpdated = true; boardInformationWasUpdated = true;
@ -107,7 +107,7 @@ bool setBoardName(const char *newBoardName)
{ {
#if !defined(BOARD_NAME) #if !defined(BOARD_NAME)
if (!boardInformationSet || strlen(boardName) == 0) { if (!boardInformationSet || strlen(boardName) == 0) {
strncpy(boardName, newBoardName, MAX_BOARD_NAME_LENGTH + 1); strncpy(boardName, newBoardName, MAX_BOARD_NAME_LENGTH);
boardName[MAX_BOARD_NAME_LENGTH] = 0; boardName[MAX_BOARD_NAME_LENGTH] = 0;
boardInformationWasUpdated = true; boardInformationWasUpdated = true;
@ -126,8 +126,10 @@ bool persistBoardInformation(void)
{ {
#if !defined(BOARD_NAME) #if !defined(BOARD_NAME)
if (boardInformationWasUpdated) { if (boardInformationWasUpdated) {
strncpy(boardConfigMutable()->manufacturerId, manufacturerId, MAX_MANUFACTURER_ID_LENGTH + 1); strncpy(boardConfigMutable()->manufacturerId, manufacturerId, MAX_MANUFACTURER_ID_LENGTH);
strncpy(boardConfigMutable()->boardName, boardName, MAX_BOARD_NAME_LENGTH + 1); boardConfigMutable()->manufacturerId[MAX_MANUFACTURER_ID_LENGTH] = 0;
strncpy(boardConfigMutable()->boardName, boardName, MAX_BOARD_NAME_LENGTH);
boardConfigMutable()->boardName[MAX_BOARD_NAME_LENGTH] = 0;
boardConfigMutable()->boardInformationSet = true; boardConfigMutable()->boardInformationSet = true;
initBoardInformation(); initBoardInformation();