From 7220da7c365f30c9e545809b472909cd17e633a1 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Tue, 22 Jul 2003 20:00:48 +0000 Subject: (process_file): Check that file is a shared object. --- elf/readlib.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'elf') diff --git a/elf/readlib.c b/elf/readlib.c index efc2e10053..da0f08cc0b 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 1999 and Jakub Jelinek , 1999. @@ -158,11 +158,12 @@ process_file (const char *real_file_name, const char *file_name, error (0, 0, _("%s is not an ELF file - it has the wrong magic bytes at the start.\n"), file_name); ret = 1; - goto done; } - - if (process_elf_file (file_name, lib, flag, osversion, soname, - file_contents, statbuf.st_size)) + /* Libraries have to be shared object files. */ + else if (elf_header->e_type != ET_DYN) + ret = 1; + else if (process_elf_file (file_name, lib, flag, osversion, soname, + file_contents, statbuf.st_size)) ret = 1; done: -- cgit 1.4.1