diff options
| author | Ulrich Drepper <drepper@redhat.com> | 2002-08-25 04:51:08 +0000 |
|---|---|---|
| committer | Ulrich Drepper <drepper@redhat.com> | 2002-08-25 04:51:08 +0000 |
| commit | 6dd67bd565db889944d740379e6ae87bd3fd4e44 (patch) | |
| tree | 57e0f1549fe4d23dc1b6b6ba939904739d2f6a29 | |
| parent | e2dced828ea26102bd9599acd9fc43bf944e37be (diff) | |
| download | glibc-6dd67bd565db889944d740379e6ae87bd3fd4e44.tar.xz glibc-6dd67bd565db889944d740379e6ae87bd3fd4e44.zip | |
Update.
2002-08-24 Ulrich Drepper <drepper@redhat.com>
* locale/programs/charmap.c (charmap_new_char): Don't use
ULONG_MAX as maximum UCS4 value.
* sysdeps/unix/sysv/linux/ia64/sys/user.h: New file.
* sysdeps/generic/strtol.c: We don't need the isascii test in glibc.
* malloc/hooks.c (public_sET_STATe): use size_t as type for i.
* malloc/malloc.c (mALLINFo): Likewise.
* libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison.
* libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when
examining result of _IO_do_flush call.
* stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg.
Use prec not spec when sizing buffers.
* catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings.
* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
* locale/loadlocale.c (_nl_intern_locale_data): Likewise.
* stdio-common/vfscanf.c (inchar): Likewise.
* misc/efgcvt_r.c (fcvt_r): Likewise.
* elf/dl-misc.c (_dl_debug_vdprintf): Likewise.
* elf/readlib.c (process_file): Likewise.
* elf/sprof.c (load_profdata): Likewise.
* sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise.
* locale/programs/linereader.c (get_toplvl_escape): Likewise.
* locale/programs/charmap.c (charmap_read): Likewise.
* libio/fileops.c: Likewise.
* libio/fmemopen.c: Likewise.
* stdlib/strtod.c: Likewise.
* elf/dl-load.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* iconv/iconv_prog.c (process_block): Likewise.
* sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H
macro to calm down the compiler.
* iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning.
* sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding
placement of errno definition.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value
from 1024 to 65536, to avoid buffer overrun.
2002-08-16 Paul Eggert <eggert@twinsun.com>
* resolv/gethnamaddr.c (MAXPACKET): Increase minimum value
from 1024 to 65536, to avoid buffer overrun.
* resolv/res_query.c (MAXPACKET): Likewise.
architectures.
34 files changed, 313 insertions, 188 deletions
@@ -1,3 +1,65 @@ +2002-08-24 Ulrich Drepper <drepper@redhat.com> + + * locale/programs/charmap.c (charmap_new_char): Don't use + ULONG_MAX as maximum UCS4 value. + + * sysdeps/unix/sysv/linux/ia64/sys/user.h: New file. + + * sysdeps/generic/strtol.c: We don't need the isascii test in glibc. + + * malloc/hooks.c (public_sET_STATe): use size_t as type for i. + * malloc/malloc.c (mALLINFo): Likewise. + + * libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison. + + * libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when + examining result of _IO_do_flush call. + + * stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg. + Use prec not spec when sizing buffers. + + * catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings. + * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. + * locale/loadlocale.c (_nl_intern_locale_data): Likewise. + * stdio-common/vfscanf.c (inchar): Likewise. + * misc/efgcvt_r.c (fcvt_r): Likewise. + * elf/dl-misc.c (_dl_debug_vdprintf): Likewise. + * elf/readlib.c (process_file): Likewise. + * elf/sprof.c (load_profdata): Likewise. + * sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise. + * locale/programs/linereader.c (get_toplvl_escape): Likewise. + * locale/programs/charmap.c (charmap_read): Likewise. + * libio/fileops.c: Likewise. + * libio/fmemopen.c: Likewise. + * stdlib/strtod.c: Likewise. + * elf/dl-load.c: Likewise. + * iconv/iconvconfig.c: Likewise. + * iconv/iconv_prog.c (process_block): Likewise. + + * sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H + macro to calm down the compiler. + + * iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning. + + * sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string. + + * sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding + placement of errno definition. + * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. + + * resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value + from 1024 to 65536, to avoid buffer overrun. + +2002-08-16 Paul Eggert <eggert@twinsun.com> + + * resolv/gethnamaddr.c (MAXPACKET): Increase minimum value + from 1024 to 65536, to avoid buffer overrun. + * resolv/res_query.c (MAXPACKET): Likewise. + 2002-08-24 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/i386/Versions: Remove *xattr syscalls. @@ -12,7 +74,7 @@ * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Prefer reading /proc/stat since it is more uniform across - architectures.1 + architectures. * manual/texinfo.tex: Update to latest official version. @@ -120,7 +182,6 @@ 2002-08-21 Roland McGrath <roland@redhat.com> * configure.in: Make GCC version check require 3.[2-9]* and no others. - * configure: Regenerated. * manual/install.texi (Tools for Compilation): Say 3.2 is required. (Configuring and compiling): Don't mention older GCC versions any more. * INSTALL: Regenerated. diff --git a/catgets/open_catalog.c b/catgets/open_catalog.c index cd036d9769..cdcc7b83b8 100644 --- a/catgets/open_catalog.c +++ b/catgets/open_catalog.c @@ -194,7 +194,7 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var, goto close_unlock_return; if (__builtin_expect (!S_ISREG (st.st_mode), 0) - || st.st_size < sizeof (struct catalog_obj)) + || (size_t) st.st_size < sizeof (struct catalog_obj)) { /* `errno' is not set correctly but the file is not usable. Use an reasonable error value. */ @@ -305,7 +305,8 @@ __open_catalog (const char *cat_name, const char *nlspath, const char *env_var, /* Now we can check whether the file is large enough to contain the tables it says it contains. */ - if (st.st_size <= (sizeof (struct catalog_obj) + 2 * tab_size + max_offset)) + if ((size_t) st.st_size + <= (sizeof (struct catalog_obj) + 2 * tab_size + max_offset)) /* The last string is not contained in the file. */ goto invalid_file; 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'"), diff --git a/iconv/gconv_cache.c b/iconv/gconv_cache.c index 56d8c37519..f7dca0285a 100644 --- a/iconv/gconv_cache.c +++ b/iconv/gconv_cache.c @@ -67,7 +67,7 @@ __gconv_load_cache (void) if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) < 0 /* We do not have to start looking at the file if it cannot contain at least the cache header. */ - || st.st_size < sizeof (struct gconvcache_header)) + || (size_t) st.st_size < sizeof (struct gconvcache_header)) { close_and_exit: __close (fd); diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c index 8a8535bf50..a67c6ebad1 100644 --- a/iconv/iconv_prog.c +++ b/iconv/iconv_prog.c @@ -410,7 +410,8 @@ process_block (iconv_t cd, char *addr, size_t len, FILE *output) /* We have something to write out. */ int errno_save = errno; - if (fwrite (outbuf, 1, outptr - outbuf, output) < outptr - outbuf + if (fwrite (outbuf, 1, outptr - outbuf, output) + < (size_t) (outptr - outbuf) || ferror (output)) { /* Error occurred while printing the result. */ @@ -435,7 +436,8 @@ conversion stopped due to problem in writing the output")); /* We have something to write out. */ int errno_save = errno; - if (fwrite (outbuf, 1, outptr - outbuf, output) < outptr - outbuf + if (fwrite (outbuf, 1, outptr - outbuf, output) + < (size_t) (outptr - outbuf) || ferror (output)) { /* Error occurred while printing the result. */ diff --git a/iconv/iconvconfig.c b/iconv/iconvconfig.c index 27b8b02dac..62e3e4e413 100644 --- a/iconv/iconvconfig.c +++ b/iconv/iconvconfig.c @@ -441,8 +441,8 @@ add_alias (char *rp) return; *wp++ = '\0'; - assert (strlen (from) + 1 == to - from); - assert (strlen (to) + 1 == wp - to); + assert (strlen (from) + 1 == (size_t) (to - from)); + assert (strlen (to) + 1 == (size_t) (wp - to)); new_alias (from, to - from, to, wp - to); } @@ -604,15 +604,15 @@ add_module (char *rp, const char *directory) /* See whether we must add the ending. */ need_ext = 0; - if (wp - module < sizeof (gconv_module_ext) + if ((size_t) (wp - module) < sizeof (gconv_module_ext) || memcmp (wp - sizeof (gconv_module_ext), gconv_module_ext, sizeof (gconv_module_ext)) != 0) /* We must add the module extension. */ need_ext = sizeof (gconv_module_ext) - 1; - assert (strlen (from) + 1 == to - from); - assert (strlen (to) + 1 == module - to); - assert (strlen (module) + 1 == wp - module); + assert (strlen (from) + 1 == (size_t) (to - from)); + assert (strlen (to) + 1 == (size_t) (module - to)); + assert (strlen (module) + 1 == (size_t) (wp - module)); new_module (from, to - from, to, module - to, directory, module, wp - module, cost, need_ext); @@ -1179,7 +1179,7 @@ write_output (void) total += iov[idx].iov_len; ++idx; - assert (cur_extra_table - extra_table + assert ((size_t) (cur_extra_table - extra_table) <= ((sizeof (struct extra_entry) + sizeof (gidx_t) + sizeof (struct extra_entry_module)) * nextra_modules)); @@ -1189,7 +1189,7 @@ write_output (void) total += iov[idx].iov_len; ++idx; - if (TEMP_FAILURE_RETRY (writev (fd, iov, idx)) != total + if ((size_t) TEMP_FAILURE_RETRY (writev (fd, iov, idx)) != total /* The file was created with mode 0600. Make it world-readable. */ || fchmod (fd, 0644) != 0 /* Rename the file, possibly replacing an old one. */ diff --git a/libio/fileops.c b/libio/fileops.c index b6655bed5e..720796a72a 100644 --- a/libio/fileops.c +++ b/libio/fileops.c @@ -477,7 +477,8 @@ _IO_new_do_write (fp, data, to_do) const char *data; _IO_size_t to_do; { - return (to_do == 0 || new_do_write (fp, data, to_do) == to_do) ? 0 : EOF; + return (to_do == 0 + || (_IO_size_t) new_do_write (fp, data, to_do) == to_do) ? 0 : EOF; } INTDEF2(_IO_new_do_write, _IO_do_write) @@ -1423,7 +1424,8 @@ _IO_file_xsgetn (fp, data, n) /* If we now want less than a buffer, underflow and repeat the copy. Otherwise, _IO_SYSREAD directly to the user buffer. */ - if (fp->_IO_buf_base && want < fp->_IO_buf_end - fp->_IO_buf_base) + if (fp->_IO_buf_base + && want < (size_t) (fp->_IO_buf_end - fp->_IO_buf_base)) { if (__underflow (fp) == EOF) break; diff --git a/libio/fmemopen.c b/libio/fmemopen.c index a1c75f2cf1..ab6ffdd678 100644 --- a/libio/fmemopen.c +++ b/libio/fmemopen.c @@ -98,7 +98,7 @@ fmemopen_read (void *cookie, char *b, size_t s) if (c->pos + s > c->size) { - if (c->pos == c->size) + if ((size_t) c->pos == c->size) return 0; s = c->size - c->pos; } @@ -106,7 +106,7 @@ fmemopen_read (void *cookie, char *b, size_t s) memcpy (b, &(c->buffer[c->pos]), s); c->pos += s; - if (c->pos > c->maxpos) + if ((size_t) c->pos > c->maxpos) c->maxpos = c->pos; return s; @@ -125,7 +125,7 @@ fmemopen_write (void *cookie, const char *b, size_t s) if (c->pos + s + addnullc > c->size) { - if (c->pos + addnullc == c->size) + if ((size_t) (c->pos + addnullc) == c->size) { __set_errno (ENOSPC); return -1; @@ -136,7 +136,7 @@ fmemopen_write (void *cookie, const char *b, size_t s) memcpy (&(c->buffer[c->pos]), b, s); c->pos += s; - if (c->pos > c->maxpos) + if ((size_t) c->pos > c->maxpos) { |
