Fix dn_expand pointer following
authorMichael Forney <mforney@mforney.org>
Tue, 5 Nov 2013 05:43:57 +0000 (21:43 -0800)
committerRich Felker <dalias@aerifal.cx>
Sat, 23 Nov 2013 21:23:09 +0000 (16:23 -0500)
src/network/dn_expand.c

index 4e02e3d..96adf37 100644 (file)
@@ -10,7 +10,7 @@ int __dn_expand(const unsigned char *base, const unsigned char *end, const unsig
        for (;;) {
                if (*p & 0xc0) {
                        if (p+1==end) return -1;
-                       j = (p[0]&1) | p[1];
+                       j = ((p[0] & 0x3f) << 8) | p[1];
                        if (len < 0) len = p+2-src;
                        if (j >= end-base) return -1;
                        p = base+j;