@@ -208,7 +208,7 @@ static int elf_write_note_header(core_dump_elf_t *self,
208208 elf_note note_hdr = { 0 };
209209
210210 memcpy (name_buffer , name , name_len );
211- note_hdr .n_namesz = ALIGN_UP (name_len , 4 );
211+ note_hdr .n_namesz = ALIGN_UP (name_len + 1 , 4 );
212212 note_hdr .n_descsz = data_sz ;
213213 note_hdr .n_type = type ;
214214 // write note header
@@ -241,7 +241,7 @@ static int elf_write_note(core_dump_elf_t *self,
241241 // write segment data during second pass
242242 if (self -> elf_stage == ELF_STAGE_PLACE_DATA ) {
243243 ELF_CHECK_ERR (data , ELF_PROC_ERR_OTHER , "Invalid data pointer %x." , (uint32_t )data );
244- err = elf_write_note_header (self , name , name_len , data_sz , type );
244+ err = elf_write_note_header (self , name , strlen ( name ) , data_sz , type );
245245 if (err != ESP_OK ) {
246246 return err ;
247247 }
@@ -671,7 +671,7 @@ static void elf_write_core_dump_note_cb(void *opaque, const char *data)
671671
672672static int elf_add_wdt_panic_details (core_dump_elf_t * self )
673673{
674- uint32_t name_len = sizeof (ELF_ESP_CORE_DUMP_PANIC_DETAILS_NOTE_NAME );
674+ uint32_t name_len = sizeof (ELF_ESP_CORE_DUMP_PANIC_DETAILS_NOTE_NAME ) - 1 ;
675675 core_dump_elf_opaque_t param = {
676676 .self = self ,
677677 .total_size = 0 ,
0 commit comments