]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- No side effects in tolower() call, in case it is a macro.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 11 Mar 2016 13:46:46 +0000 (13:46 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Fri, 11 Mar 2016 13:46:46 +0000 (13:46 +0000)
git-svn-id: file:///svn/unbound/trunk@3669 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
util/data/dname.c

index 8d4d4affae3c7c3cd82c55dc6fc6444956199f92..235a728b5a026e794a8a753a71a35af3fe4f2a61 100644 (file)
@@ -1,6 +1,7 @@
 11 March 2016: Wouter
        - Remove warning about unused parameter in event_pluggable.c.
        - Fix libev usage of dispatch return value.
+       - No side effects in tolower() call, in case it is a macro.
 
 10 March 2016: Wouter
        - Fixup backend2str for libev.
index 79bf52ad47283a4a70b688082e8c55f1c0481d77..8fc475f7f3f139aaae7cc5ebaf7408cea5ae16b3 100644 (file)
@@ -256,11 +256,13 @@ dname_pkt_compare(sldns_buffer* pkt, uint8_t* d1, uint8_t* d2)
                log_assert(len1 == len2 && len1 != 0);
                /* compare labels */
                while(len1--) {
-                       if(tolower((unsigned char)*d1++) != tolower((unsigned char)*d2++)) {
-                               if(tolower((unsigned char)d1[-1]) < tolower((unsigned char)d2[-1]))
+                       if(tolower((unsigned char)*d1) != tolower((unsigned char)*d2)) {
+                               if(tolower((unsigned char)*d1) < tolower((unsigned char)*d2))
                                        return -1;
                                return 1;
                        }
+                       d1++;
+                       d2++;
                }
                len1 = *d1++;
                len2 = *d2++;
@@ -281,8 +283,10 @@ dname_query_hash(uint8_t* dname, hashvalue_t h)
                log_assert(lablen <= LDNS_MAX_LABELLEN);
                labuf[0] = lablen;
                i=0;
-               while(lablen--)
-                       labuf[++i] = (uint8_t)tolower((unsigned char)*dname++);
+               while(lablen--) {
+                       labuf[++i] = (uint8_t)tolower((unsigned char)*dname);
+                       dname++;
+               }
                h = hashlittle(labuf, labuf[0] + 1, h);
                lablen = *dname++;
        }
@@ -309,8 +313,10 @@ dname_pkt_hash(sldns_buffer* pkt, uint8_t* dname, hashvalue_t h)
                log_assert(lablen <= LDNS_MAX_LABELLEN);
                labuf[0] = lablen;
                i=0;
-               while(lablen--)
-                       labuf[++i] = (uint8_t)tolower((unsigned char)*dname++);
+               while(lablen--) {
+                       labuf[++i] = (uint8_t)tolower((unsigned char)*dname);
+                       dname++;
+               }
                h = hashlittle(labuf, labuf[0] + 1, h);
                lablen = *dname++;
        }