summaryrefslogtreecommitdiff
path: root/elf/dl-load.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-load.c')
-rw-r--r--elf/dl-load.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 89eb6eccc9..c6af48595d 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -857,13 +857,13 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp,
l->l_phnum = header->e_phnum;
maplength = header->e_phnum * sizeof (ElfW(Phdr));
- if (header->e_phoff + maplength <= fbp->len)
+ if (header->e_phoff + maplength <= (size_t) fbp->len)
phdr = (void *) (fbp->buf + header->e_phoff);
else
{
phdr = alloca (maplength);
__lseek (fd, header->e_phoff, SEEK_SET);
- if (__libc_read (fd, (void *) phdr, maplength) != maplength)
+ if ((size_t) __libc_read (fd, (void *) phdr, maplength) != maplength)
{
errstring = N_("cannot read file data");
goto call_lose_errno;
@@ -1040,8 +1040,8 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp,
postmap:
if (l->l_phdr == 0
- && c->mapoff <= header->e_phoff
- && (c->mapend - c->mapstart + c->mapoff
+ && (ElfW(Off)) c->mapoff <= header->e_phoff
+ && ((size_t) (c->mapend - c->mapstart + c->mapoff)
>= header->e_phoff + header->e_phnum * sizeof (ElfW(Phdr))))
/* Found the program header in this segment. */
l->l_phdr = (void *) (c->mapstart + header->e_phoff - c->mapoff);
@@ -1414,13 +1414,13 @@ open_verify (const char *name, struct filebuf *fbp)
}
maplength = ehdr->e_phnum * sizeof (ElfW(Phdr));
- if (ehdr->e_phoff + maplength <= fbp->len)
+ if (ehdr->e_phoff + maplength <= (size_t) fbp->len)
phdr = (void *) (fbp->buf + ehdr->e_phoff);
else
{
phdr = alloca (maplength);
__lseek (fd, ehdr->e_phoff, SEEK_SET);
- if (__libc_read (fd, (void *) phdr, maplength) != maplength)
+ if ((size_t) __libc_read (fd, (void *) phdr, maplength) != maplength)
{
read_error:
errval = errno;
@@ -1433,7 +1433,7 @@ open_verify (const char *name, struct filebuf *fbp)
for (ph = phdr; ph < &phdr[ehdr->e_phnum]; ++ph)
if (ph->p_type == PT_NOTE && ph->p_filesz == 32 && ph->p_align >= 4)
{
- if (ph->p_offset + 32 <= fbp->len)
+ if (ph->p_offset + 32 <= (size_t) fbp->len)
abi_note = (void *) (fbp->buf + ph->p_offset);
else
{