diff --git a/components/bootloader_support/src/bootloader_common.c b/components/bootloader_support/src/bootloader_common.c index 98e5606ede..12f60e9ce1 100644 --- a/components/bootloader_support/src/bootloader_common.c +++ b/components/bootloader_support/src/bootloader_common.c @@ -134,7 +134,7 @@ bool bootloader_common_erase_part_type_data(const char *list_erase, bool ota_dat fl_ota_data_erase = true; } // partition->label is not null-terminated string. - strncpy(label, (char *)&partition->label, sizeof(partition->label)); + strncpy(label, (char *)&partition->label, sizeof(label) - 1); if (fl_ota_data_erase == true || (bootloader_common_label_search(list_erase, label) == true)) { err = esp_rom_spiflash_erase_area(partition->pos.offset, partition->pos.size); if (err != ESP_OK) { diff --git a/components/spi_flash/partition.c b/components/spi_flash/partition.c index 4003291999..7f63d4c343 100644 --- a/components/spi_flash/partition.c +++ b/components/spi_flash/partition.c @@ -176,7 +176,7 @@ static esp_err_t load_partitions() } // it->label may not be zero-terminated - strncpy(item->info.label, (const char*) it->label, sizeof(it->label)); + strncpy(item->info.label, (const char*) it->label, sizeof(item->info.label) - 1); item->info.label[sizeof(it->label)] = 0; // add it to the list if (last == NULL) {