From 4798f4e65258afb6935d0b471e7d1b5a0d5edf1e Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Thu, 8 Oct 2009 00:02:32 +0000 Subject: Fix compiler warning: addition result could be truncated before cast to bigger sized type --- ares/ares__get_hostent.c | 2 +- ares/ares_expand_name.c | 4 ++-- lib/dict.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ares/ares__get_hostent.c b/ares/ares__get_hostent.c index 8402714c4..d98af9283 100644 --- a/ares/ares__get_hostent.c +++ b/ares/ares__get_hostent.c @@ -194,7 +194,7 @@ int ares__get_hostent(FILE *fp, int family, struct hostent **host) memcpy(hostent->h_addr_list[0], &addr6, addrlen); /* Copy aliases. */ - hostent->h_aliases = malloc((naliases + 1) * sizeof(char *)); + hostent->h_aliases = malloc((((size_t)naliases) + 1) * sizeof(char *)); if (!hostent->h_aliases) break; alias = hostent->h_aliases; diff --git a/ares/ares_expand_name.c b/ares/ares_expand_name.c index b0af474df..a1556e937 100644 --- a/ares/ares_expand_name.c +++ b/ares/ares_expand_name.c @@ -71,10 +71,10 @@ int ares_expand_name(const unsigned char *encoded, const unsigned char *abuf, const unsigned char *p; len = name_length(encoded, abuf, alen); - if (len == -1) + if (len < 0) return ARES_EBADNAME; - *s = malloc(len + 1); + *s = malloc(((size_t)len) + 1); if (!*s) return ARES_ENOMEM; q = *s; diff --git a/lib/dict.c b/lib/dict.c index 223eddc0e..1c7d5c9f8 100644 --- a/lib/dict.c +++ b/lib/dict.c @@ -125,7 +125,7 @@ static char *unescape_word(struct SessionHandle *data, const char *inputbuff) if(!newp) return NULL; - dictp = malloc(len*2 + 1); /* add one for terminating zero */ + dictp = malloc(((size_t)len)*2 + 1); /* add one for terminating zero */ if(dictp) { /* According to RFC2229 section 2.2, these letters need to be escaped with \[letter] */ -- cgit v1.2.3