Skip to content

Commit a916fe5

Browse files
authored
No crash on note with zero length name (#592)
* No crash on note with zero length name * Comment placement
1 parent 12034a5 commit a916fe5

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

elftools/elf/notes.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@ def iter_notes(elffile, offset, size):
2525
note['n_offset'] = offset
2626
offset += nhdr_size
2727
elffile.stream.seek(offset)
28-
# n_namesz is 4-byte aligned.
29-
disk_namesz = roundup(note['n_namesz'], 2)
30-
note['n_name'] = bytes2str(
31-
CString('').parse(elffile.stream.read(disk_namesz)))
32-
offset += disk_namesz
28+
if note['n_namesz']:
29+
# n_namesz is 4-byte aligned.
30+
disk_namesz = roundup(note['n_namesz'], 2)
31+
note['n_name'] = bytes2str(
32+
CString('').parse(elffile.stream.read(disk_namesz)))
33+
offset += disk_namesz
34+
else:
35+
note['n_name'] = None
3336

3437
desc_data = elffile.stream.read(note['n_descsz'])
3538
note['n_descdata'] = desc_data

0 commit comments

Comments
 (0)