mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
[BZ #151]
Update. * elf/readlib.c (process_file): Before complaining about too-short file, check that it potentially be an ELF file. Also complain about empty files. [BZ #151].
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
2004-09-26 Ulrich Drepper <drepper@redhat.com>
|
2004-09-26 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* elf/readlib.c (process_file): Before complaining about too-short
|
||||||
|
file, check that it potentially be an ELF file. Also complain about
|
||||||
|
empty files. [BZ #151].
|
||||||
|
|
||||||
* scripts/test-installation.pl: Fix ld.so recognition for new
|
* scripts/test-installation.pl: Fix ld.so recognition for new
|
||||||
LD_TRACE_LOADED_OBJECTS output format.
|
LD_TRACE_LOADED_OBJECTS output format.
|
||||||
Patch by <jsberg04+computing.glibc@ftml.net> [BZ #407].
|
Patch by <jsberg04+computing.glibc@ftml.net> [BZ #407].
|
||||||
|
@ -105,7 +105,15 @@ process_file (const char *real_file_name, const char *file_name,
|
|||||||
if ((size_t) statbuf.st_size < sizeof (struct exec)
|
if ((size_t) statbuf.st_size < sizeof (struct exec)
|
||||||
|| (size_t) statbuf.st_size < sizeof (ElfW(Ehdr)))
|
|| (size_t) statbuf.st_size < sizeof (ElfW(Ehdr)))
|
||||||
{
|
{
|
||||||
error (0, 0, _("File %s is too small, not checked."), file_name);
|
if (statbuf.st_size == 0)
|
||||||
|
error (0, 0, _("File %s is empty, not checked."), file_name);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char buf[SELFMAG];
|
||||||
|
size_t n = MIN (statbuf.st_size, SELFMAG);
|
||||||
|
if (fread (buf, n, 1, file) == 1 && memcmp (buf, ELFMAG, n) == 0)
|
||||||
|
error (0, 0, _("File %s is too small, not checked."), file_name);
|
||||||
|
}
|
||||||
fclose (file);
|
fclose (file);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user