diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-load.c | 14 | ||||
-rw-r--r-- | elf/dl-misc.c | 2 | ||||
-rw-r--r-- | elf/readlib.c | 6 | ||||
-rw-r--r-- | elf/sprof.c | 2 |
4 files changed, 12 insertions, 12 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 { diff --git a/elf/dl-misc.c b/elf/dl-misc.c index 364940b23f..2d42230afe 100644 --- a/elf/dl-misc.c +++ b/elf/dl-misc.c @@ -211,7 +211,7 @@ _dl_debug_vdprintf (int fd, int tag_p, const char *fmt, va_list arg) iov[niov].iov_base = va_arg (arg, char *); iov[niov].iov_len = strlen (iov[niov].iov_base); if (prec != -1) - iov[niov].iov_len = MIN (prec, iov[niov].iov_len ); + iov[niov].iov_len = MIN ((size_t) prec, iov[niov].iov_len); ++niov; break; diff --git a/elf/readlib.c b/elf/readlib.c index f786ecea29..361f78c95d 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger <aj@suse.de>, 1999 and Jakub Jelinek <jakub@redhat.com>, 1999. @@ -103,8 +103,8 @@ process_file (const char *real_file_name, const char *file_name, /* Check that the file is large enough so that we can access the information. We're only checking the size of the headers here. */ - if (statbuf.st_size < sizeof (struct exec) - || statbuf.st_size < sizeof (ElfW(Ehdr))) + if ((size_t) statbuf.st_size < sizeof (struct exec) + || (size_t) statbuf.st_size < sizeof (ElfW(Ehdr))) { error (0, 0, _("File %s is too small, not checked."), file_name); fclose (file); diff --git a/elf/sprof.c b/elf/sprof.c index 3424282044..6b5ccc108f 100644 --- a/elf/sprof.c +++ b/elf/sprof.c @@ -675,7 +675,7 @@ load_profdata (const char *name, struct shobj *shobj) return NULL; } - if (st.st_size != shobj->expected_size) + if ((size_t) st.st_size != shobj->expected_size) { error (0, 0, _("profiling data file `%s' does not match shared object `%s'"), |