Asserts when encountering invalid files
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 52/100
Direzione di ricerca
The reported entry point is /usr/bin/dlopen-notes, especially read_dlopen_notes and the argument loop around line 142. Start by tracing how filenames are opened and how invalid, missing, and directory inputs reach ELFFile. Add coverage for those inputs and verify the command avoids assertions as requested.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version: 0.11-1
systemd: 256.9-1
kernel: 6.12.4-arch1-1
While writing a script to find all dl-opened libraries on a system, I ran into this assert when encountering .py files:
Traceback (most recent call last):
File "/usr/bin/dlopen-notes", line 142, in <module>
notes = [read_dlopen_notes(filename) for filename in args.filenames]
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/dlopen-notes", line 24, in wrap
return list(f(*args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/dlopen-notes", line 29, in read_dlopen_notes
elffile = ELFFile(open(filename, 'rb'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/elftools/elf/elffile.py", line 84, in __init__
self._identify_file()
File "/usr/lib/python3.12/site-packages/elftools/elf/elffile.py", line 570, in _identify_file
elf_assert(magic == b'\x7fELF', 'Magic number does not match')
File "/usr/lib/python3.12/site-packages/elftools/common/utils.py", line 80, in elf_assert
_assert_with_exception(cond, msg, ELFError)
File "/usr/lib/python3.12/site-packages/elftools/common/utils.py", line 143, in _assert_with_exception
raise exception_type(msg)
elftools.common.exceptions.ELFError: Magic number does not match
Ideally, invalid & non-existent files (& directories) wouldn't cause asserts like this.
- Lingua principale
- Python
- Stelle
- 28
- Fork
- 15
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di systemd/package-notes
-
Consider adding PURL Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
systemd/package-notes#51 · 6 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
systemd/package-notes#40 · 5 commenti ·
Tutte le issue di systemd/package-notes
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stephrobert/dsoxlab#238 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
sublimehq/package_control#1780 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
nwg-piotr/nwg-displays#145 ·