mirror of
https://github.com/openharmony/third_party_elfutils.git
synced 2026-07-15 07:28:18 -04:00
elf_begin sets elf_errno for cases that the file is completely unreadable
- The problem this is trying to solve can be seen for example thus: $ eu-readelf -a / eu-readelf: failed reading '/': (null) With the fix we see a proper error number and get a reasonable error message: $ eu-readelf -a / eu-readelf: failed reading '/': invalid file descriptor Signed-off-by: Petr Machata <pmachata@redhat.com>
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2014-09-10 Petr Machata <pmachata@redhat.com>
|
||||
|
||||
* elf_begin (read_unmmaped_file): Call __libelf_seterrno if the
|
||||
file is unreadable.
|
||||
|
||||
2014-07-07 Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
* elf.h: Update from glibc.
|
||||
|
||||
+6
-3
@@ -550,9 +550,12 @@ read_unmmaped_file (int fildes, off_t offset, size_t maxsize, Elf_Cmd cmd,
|
||||
maxsize),
|
||||
offset);
|
||||
if (unlikely (nread == -1))
|
||||
/* We cannot even read the head of the file. Maybe FILDES is associated
|
||||
with an unseekable device. This is nothing we can handle. */
|
||||
return NULL;
|
||||
{
|
||||
/* We cannot even read the head of the file. Maybe FILDES is associated
|
||||
with an unseekable device. This is nothing we can handle. */
|
||||
__libelf_seterrno (ELF_E_INVALID_FILE);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* See what kind of object we have here. */
|
||||
Elf_Kind kind = determine_kind (mem.header, nread);
|
||||
|
||||
Reference in New Issue
Block a user