]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
state fw_copy is never used; n only needs to be set for fw_ordinary;
authorMark Andrews <marka@isc.org>
Thu, 3 Jul 2014 03:26:38 +0000 (13:26 +1000)
committerMark Andrews <marka@isc.org>
Thu, 3 Jul 2014 22:52:24 +0000 (08:52 +1000)
(cherry picked from commit d956d9689c13b093fff5faf6b10f06338354dcfc)

lib/dns/name.c

index 4a33e81e53eb1040720e851d7748efb392e28933..af4cb044fcf23973e556411ecd99ba1831c78d25 100644 (file)
@@ -53,7 +53,6 @@ typedef enum {
 typedef enum {
        fw_start = 0,
        fw_ordinary,
-       fw_copy,
        fw_newcurrent
 } fw_state;
 
@@ -1899,7 +1898,6 @@ dns_name_fromwire(dns_name_t *name, isc_buffer_t *source,
                                    0)
                                        return (DNS_R_DISALLOWED);
                                new_current = c & 0x3F;
-                               n = 1;
                                state = fw_newcurrent;
                        } else
                                return (DNS_R_BADLABELTYPE);
@@ -1907,8 +1905,6 @@ dns_name_fromwire(dns_name_t *name, isc_buffer_t *source,
                case fw_ordinary:
                        if (downcase)
                                c = maptolower[c];
-                       /* FALLTHROUGH */
-               case fw_copy:
                        *ndata++ = c;
                        n--;
                        if (n == 0)
@@ -1917,9 +1913,6 @@ dns_name_fromwire(dns_name_t *name, isc_buffer_t *source,
                case fw_newcurrent:
                        new_current *= 256;
                        new_current += c;
-                       n--;
-                       if (n != 0)
-                               break;
                        if (new_current >= biggest_pointer)
                                return (DNS_R_BADPOINTER);
                        biggest_pointer = new_current;