]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
fix char sign extension [#35743]
authorFrancis Dupont <fdupont@isc.org>
Fri, 11 Apr 2014 11:25:49 +0000 (13:25 +0200)
committerFrancis Dupont <fdupont@isc.org>
Fri, 11 Apr 2014 11:25:49 +0000 (13:25 +0200)
lib/dns/name.c

index 62e210eb0f0eda03c03ae8e671d9a868383bc13c..4a33e81e53eb1040720e851d7748efb392e28933 100644 (file)
@@ -1201,7 +1201,7 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
                                count++;
                                CONVERTTOASCII(c);
                                if (downcase)
-                                       c = maptolower[(int)c];
+                                       c = maptolower[c & 0xff];
                                *ndata++ = c;
                                nrem--;
                                nused++;
@@ -1225,7 +1225,7 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
                                count++;
                                CONVERTTOASCII(c);
                                if (downcase)
-                                       c = maptolower[(int)c];
+                                       c = maptolower[c & 0xff];
                                *ndata++ = c;
                                nrem--;
                                nused++;
@@ -1240,7 +1240,7 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
                        if (!isdigit(c & 0xff))
                                return (DNS_R_BADESCAPE);
                        value *= 10;
-                       value += digitvalue[(int)c];
+                       value += digitvalue[c & 0xff];
                        digits++;
                        if (digits == 3) {
                                if (value > 255)
@@ -1292,7 +1292,7 @@ dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,
                                while (n2 > 0) {
                                        c = *label++;
                                        if (downcase)
-                                               c = maptolower[(int)c];
+                                               c = maptolower[c & 0xff];
                                        *ndata++ = c;
                                        n2--;
                                }