diff --git a/src/main/config/config_eeprom.c b/src/main/config/config_eeprom.c index 18c25d68b2..acc0244e63 100644 --- a/src/main/config/config_eeprom.c +++ b/src/main/config/config_eeprom.c @@ -142,6 +142,9 @@ bool isEEPROMContentValid(void) if (temp->size != sizeof(master_t) || temp->magic_be != 0xBE || temp->magic_ef != 0xEF) return false; + if (strncasecmp(temp->boardIdentifier, TARGET_BOARD_IDENTIFIER, sizeof(TARGET_BOARD_IDENTIFIER))) + return false; + // verify integrity of temporary copy checksum = calculateChecksum((const uint8_t *) temp, sizeof(master_t)); if (checksum != 0) diff --git a/src/main/fc/config.c b/src/main/fc/config.c index 5a5fb99eac..c2f6c1c3a7 100755 --- a/src/main/fc/config.c +++ b/src/main/fc/config.c @@ -838,7 +838,7 @@ void createDefaultConfig(master_t *config) resetStatusLedConfig(&config->statusLedConfig); /* merely to force a reset if the person inadvertently flashes the wrong target */ - strncpy(config->boardIdentifier, TARGET_BOARD_IDENTIFIER, MIN(sizeof(TARGET_BOARD_IDENTIFIER), sizeof(config->boardIdentifier))); + strncpy(config->boardIdentifier, TARGET_BOARD_IDENTIFIER, sizeof(TARGET_BOARD_IDENTIFIER)); #if defined(TARGET_CONFIG) targetConfiguration(config);