libelf: abolish elf_sval and elf_access_signed

These are not used anywhere.

This is part of the fix to a security issue, XSA-55.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
Ian Jackson authored and Ian Jackson committed 2013-06-14 16:45:37 +01:00
1 parent f7fb94409c
commit e719b136b7
2 files changed
-39

No files matched your search

-28
View File
@@ -48,34 +48,6 @@ uint64_t elf_access_unsigned(struct elf_binary * elf, const void *ptr,
}
}
int64_t elf_access_signed(struct elf_binary *elf, const void *ptr,
uint64_t offset, size_t size)
{
int need_swap = elf_swap(elf);
const int8_t *s8;
const int16_t *s16;
const int32_t *s32;
const int64_t *s64;
switch ( size )
{
case 1:
s8 = ptr + offset;
return *s8;
case 2:
s16 = ptr + offset;
return need_swap ? bswap_16(*s16) : *s16;
case 4:
s32 = ptr + offset;
return need_swap ? bswap_32(*s32) : *s32;
case 8:
s64 = ptr + offset;
return need_swap ? bswap_64(*s64) : *s64;
default:
return 0;
}
}
uint64_t elf_round_up(struct elf_binary *elf, uint64_t addr)
{
int elf_round = (elf_64bit(elf) ? 8 : 4) - 1;
-11
View File
@@ -136,23 +136,12 @@ struct elf_binary {
offsetof(typeof(*(str)),e32.elem), \
sizeof((str)->e32.elem)))
#define elf_sval(elf, str, elem) \
((ELFCLASS64 == (elf)->class) \
? elf_access_signed((elf), (str), \
offsetof(typeof(*(str)),e64.elem), \
sizeof((str)->e64.elem)) \
: elf_access_signed((elf), (str), \
offsetof(typeof(*(str)),e32.elem), \
sizeof((str)->e32.elem)))
#define elf_size(elf, str) \
((ELFCLASS64 == (elf)->class) \
? sizeof((str)->e64) : sizeof((str)->e32))
uint64_t elf_access_unsigned(struct elf_binary *elf, const void *ptr,
uint64_t offset, size_t size);
int64_t elf_access_signed(struct elf_binary *elf, const void *ptr,
uint64_t offset, size_t size);
uint64_t elf_round_up(struct elf_binary *elf, uint64_t addr);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.