]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix downcast warnings from visual studio in sldns code. release-1.6.0rc1
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 8 Dec 2016 08:49:12 +0000 (08:49 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 8 Dec 2016 08:49:12 +0000 (08:49 +0000)
git-svn-id: file:///svn/unbound/trunk@3957 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
sldns/str2wire.c
sldns/wire2str.c

index 2c83abb189597c19c66d500506ea6f1254064737..57a13c8c537d6b381ed08f311ca99b1b6ab65a31 100644 (file)
@@ -1,3 +1,6 @@
+8 December 2016: Wouter
+       - Fix downcast warnings from visual studio in sldns code.
+
 7 December 2016: Ralph
        - Add DSA support for OpenSSL 1.1.0
        - Fix remote control without cert for LibreSSL
index e624e269e33e737d051b78f786f9cbeb41d4c1ea..75c5d71b1ac6748a0c2b8db3bcfd667562bb0a7b 100644 (file)
@@ -328,7 +328,7 @@ rrinternal_write_typeclassttl(sldns_buffer* strbuf, uint8_t* rr, size_t len,
 
 /** find delimiters for type */
 static const char*
-rrinternal_get_delims(sldns_rdf_type rdftype, uint16_t r_cnt, uint16_t r_max)
+rrinternal_get_delims(sldns_rdf_type rdftype, size_t r_cnt, size_t r_max)
 {
        switch(rdftype) {
        case LDNS_RDF_TYPE_B64        :
@@ -463,7 +463,7 @@ rrinternal_parse_unknown(sldns_buffer* strbuf, char* token, size_t token_len,
 static int
 rrinternal_parse_rdf(sldns_buffer* strbuf, char* token, size_t token_len,
        uint8_t* rr, size_t rr_len, size_t* rr_cur_len, sldns_rdf_type rdftype,
-       uint16_t rr_type, uint16_t r_cnt, uint16_t r_max, size_t dname_len,
+       uint16_t rr_type, size_t r_cnt, size_t r_max, size_t dname_len,
        uint8_t* origin, size_t origin_len)
 {
        size_t len;
@@ -613,7 +613,7 @@ rrinternal_parse_rdata(sldns_buffer* strbuf, char* token, size_t token_len,
        uint8_t* origin, size_t origin_len)
 {
        const sldns_rr_descriptor *desc = sldns_rr_descript((uint16_t)rr_type);
-       uint16_t r_cnt, r_min, r_max;
+       size_t r_cnt, r_min, r_max;
        size_t rr_cur_len = dname_len + 10, pre_data_pos, token_strlen;
        int was_unknown_rr_format = 0, parens = 0, status, quoted;
        const char* delimiters;
@@ -693,7 +693,7 @@ rrinternal_parse_rdata(sldns_buffer* strbuf, char* token, size_t token_len,
                                sldns_buffer_position(strbuf));
        }
        /* write rdata length */
-       sldns_write_uint16(rr+dname_len+8, rr_cur_len-dname_len-10);
+       sldns_write_uint16(rr+dname_len+8, (uint16_t)(rr_cur_len-dname_len-10));
        *rr_len = rr_cur_len;
        return LDNS_WIREPARSE_ERR_OK;
 }
@@ -1369,7 +1369,7 @@ int sldns_str2wire_time_buf(const char* str, uint8_t* rd, size_t* len)
                if (tm.tm_sec < 0 || tm.tm_sec > 59)
                        return LDNS_WIREPARSE_ERR_SYNTAX_TIME;
 
-               sldns_write_uint32(rd, sldns_mktime_from_utc(&tm));
+               sldns_write_uint32(rd, (uint32_t)sldns_mktime_from_utc(&tm));
        } else {
                /* handle it as 32 bits timestamp */
                char *end;
@@ -1932,7 +1932,7 @@ int sldns_str2wire_tag_buf(const char* str, uint8_t* rd, size_t* len)
                if(!isalnum((unsigned char)*ptr))
                        return RET_ERR(LDNS_WIREPARSE_ERR_SYNTAX_TAG, ptr-str);
        }
-       rd[0] = slen;
+       rd[0] = (uint8_t)slen;
        memmove(rd+1, str, slen);
        *len = slen+1;
        return LDNS_WIREPARSE_ERR_OK;
@@ -2000,7 +2000,7 @@ int sldns_str2wire_hip_buf(const char* str, uint8_t* rd, size_t* len)
                return RET_ERR_SHIFT(e, s-(char*)str);
        if(pklen > 65535)
                return RET_ERR(LDNS_WIREPARSE_ERR_LABEL_OVERFLOW, s-(char*)str+65535);
-       sldns_write_uint16(rd+2, pklen);
+       sldns_write_uint16(rd+2, (uint16_t)pklen);
 
        *len = 4 + hitlen + pklen;
        return LDNS_WIREPARSE_ERR_OK;
index 639f56fae72e2dbbd34292d36865436cc4052642..0efa65f7566452d9066ce802b125de48630676d1 100644 (file)
@@ -667,7 +667,7 @@ int sldns_wire2str_rdata_scan(uint8_t** d, size_t* dlen, char** s,
        uint8_t* origd = *d;
        char* origs = *s;
        size_t origdlen = *dlen, origslen = *slen;
-       uint16_t r_cnt, r_max;
+       size_t r_cnt, r_max;
        sldns_rdf_type rdftype;
        int w = 0, n;
 
@@ -788,8 +788,9 @@ int sldns_wire2str_dname_scan(uint8_t** d, size_t* dlen, char** s, size_t* slen,
                }
 
                /* spool label characters, end with '.' */
-               if(in_buf && *dlen < labellen) labellen = *dlen;
-               else if(!in_buf && pos+labellen > pkt+pktlen)
+               if(in_buf && *dlen < (size_t)labellen)
+                       labellen = (uint8_t)*dlen;
+               else if(!in_buf && pos+(size_t)labellen > pkt+pktlen)
                        labellen = (uint8_t)(pkt + pktlen - pos);
                for(i=0; i<(unsigned)labellen; i++) {
                        w += dname_char_print(s, slen, *pos++);
@@ -1960,10 +1961,10 @@ int sldns_wire2str_edns_scan(uint8_t** data, size_t* data_len, char** str,
        w += sldns_str_print(str, str_len, " ; udp: %u", (unsigned)udpsize);
 
        if(rdatalen) {
-               if(*data_len < rdatalen) {
+               if((size_t)*data_len < rdatalen) {
                        w += sldns_str_print(str, str_len,
                                " ; Error EDNS rdata too short; ");
-                       rdatalen = *data_len;
+                       rdatalen = (uint16_t)*data_len;
                }
                w += print_edns_opts(str, str_len, *data, rdatalen);
                (*data) += rdatalen;