elf: Compile with -Wextra
-Wextra enables a bunch of rather useful checks which this fixes. This changes the return value for the case when no ELF headers were found to avoid (ugly-ish) cast of -1 to unsigned. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> --- Changes: v2: * cast the return value to (int) * added missing (long)
This commit is contained in:
parent
0549fa7d08
commit
26d8ba1703
|
@ -96,9 +96,9 @@ void elf_relocate64(void *file_addr, signed long offset);
|
|||
|
||||
int elf_forth_claim(void *addr, long size);
|
||||
|
||||
long elf_get_file_size(const void *buffer, const long buffer_size);
|
||||
long elf_get_file_size32(const void *buffer, const long buffer_size);
|
||||
long elf_get_file_size64(const void *buffer, const long buffer_size);
|
||||
long elf_get_file_size(const void *buffer, const unsigned long buffer_size);
|
||||
long elf_get_file_size32(const void *buffer, const unsigned long buffer_size);
|
||||
long elf_get_file_size64(const void *buffer, const unsigned long buffer_size);
|
||||
|
||||
#ifdef __BIG_ENDIAN__
|
||||
#define elf64_to_cpu(x, ehdr) ((ehdr)->ei_data == ELFDATA2MSB ? (x) : bswap_64(x))
|
||||
|
|
|
@ -202,7 +202,7 @@ elf_get_base_addr(void *file_addr)
|
|||
* buffer larger than the size of the file
|
||||
* @return The size of the ELF image or < 0 for error
|
||||
*/
|
||||
long elf_get_file_size(const void *buffer, const long buffer_size)
|
||||
long elf_get_file_size(const void *buffer, const unsigned long buffer_size)
|
||||
{
|
||||
const struct ehdr *ehdr = (const struct ehdr *)buffer;
|
||||
|
||||
|
|
|
@ -212,13 +212,13 @@ elf_byteswap_header32(void *file_addr)
|
|||
* file.
|
||||
* @return Return -1 on error, size of file otherwise.
|
||||
*/
|
||||
long elf_get_file_size32(const void *buffer, const long buffer_size)
|
||||
long elf_get_file_size32(const void *buffer, const unsigned long buffer_size)
|
||||
{
|
||||
const struct ehdr32 *ehdr = (const struct ehdr32 *) buffer;
|
||||
const uint8_t *buffer_end = buffer + buffer_size;
|
||||
const struct phdr32 *phdr;
|
||||
const struct shdr32 *shdr;
|
||||
long elf_size = -1;
|
||||
unsigned long elf_size = 0;
|
||||
uint16_t entsize;
|
||||
unsigned i;
|
||||
|
||||
|
@ -258,5 +258,5 @@ long elf_get_file_size32(const void *buffer, const long buffer_size)
|
|||
if (elf_size > buffer_size)
|
||||
return -1;
|
||||
|
||||
return elf_size;
|
||||
return (long) elf_size;
|
||||
}
|
||||
|
|
|
@ -389,7 +389,7 @@ elf_apply_all_rela64(void *file_addr, signed long offset, struct shdr64 *shdrs,
|
|||
struct rela *relaentry;
|
||||
struct sym64 *symtabentry;
|
||||
uint32_t symbolidx;
|
||||
int i;
|
||||
unsigned i;
|
||||
|
||||
/* If the referenced section has not been allocated, then it has
|
||||
* not been loaded and thus does not need to be relocated. */
|
||||
|
@ -481,13 +481,13 @@ uint32_t elf_get_eflags_64(void *file_addr)
|
|||
* file.
|
||||
* @return Return -1 on error, size of file otherwise.
|
||||
*/
|
||||
long elf_get_file_size64(const void *buffer, const long buffer_size)
|
||||
long elf_get_file_size64(const void *buffer, const unsigned long buffer_size)
|
||||
{
|
||||
const struct ehdr64 *ehdr = (const struct ehdr64 *) buffer;
|
||||
const uint8_t *buffer_end = buffer + buffer_size;
|
||||
const struct phdr64 *phdr;
|
||||
const struct shdr64 *shdr;
|
||||
long elf_size = -1;
|
||||
unsigned long elf_size = 0;
|
||||
uint16_t entsize;
|
||||
unsigned i;
|
||||
|
||||
|
@ -527,5 +527,5 @@ long elf_get_file_size64(const void *buffer, const long buffer_size)
|
|||
if (elf_size > buffer_size)
|
||||
return -1;
|
||||
|
||||
return elf_size;
|
||||
return (long) elf_size;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue