diff options
Diffstat (limited to 'iconv')
-rw-r--r-- | iconv/gconv_cache.c | 2 | ||||
-rw-r--r-- | iconv/iconv_prog.c | 6 | ||||
-rw-r--r-- | iconv/iconvconfig.c | 16 |
3 files changed, 13 insertions, 11 deletions
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. */ |