diff options
Diffstat (limited to 'tests/format/elf/oob_section_name.py')
-rw-r--r-- | tests/format/elf/oob_section_name.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/format/elf/oob_section_name.py b/tests/format/elf/oob_section_name.py new file mode 100644 index 0000000..da58e29 --- /dev/null +++ b/tests/format/elf/oob_section_name.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + + +# Une section peut avoir un index pour son nom démesurément grand (et invalide). +# +# Si la section des chaînes de caractères est toute aussi grande et invalide, +# l'index invalide reste suffisamment cohérent pour passer les premiers tests +# de extract_name_from_elf_string_section() et conduire ensuite à un plantage +# lors de l'accès concret, au moment de l'appel à strlen(). + + +import pychrysalide + +from pychrysalide.analysis.contents import FileContent +from pychrysalide.format.elf import ElfFormat + +cnt = FileContent("oob_section_name") + +fmt = ElfFormat(cnt) + +print(fmt) + +print(isinstance(fmt, ElfFormat)) |