com php-src: Merge remote-tracking branch 'php/master': ext/standard/dns.c

From: Date: Tue, 19 Aug 2014 07:58:35 +0000
Subject: com php-src: Merge remote-tracking branch 'php/master': ext/standard/dns.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-80790@lists.php.net to get a copy of this message
Commit: 5dc4f44f3e37a4f2f818ec26891882b427af14a0 Author: Anatol Belski <ab@php.net> Tue, 19 Aug 2014 09:58:35 +0200 Parents: 30e0aa5b6b01d206326671e87d5ca6f21aa13fdd 6070757c77a226fecce5f2d029084cf68c979762 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5dc4f44f3e37a4f2f818ec26891882b427af14a0 Log: Merge remote-tracking branch 'php/master' Conflicts: ext/standard/dns.c Changed paths: MM ext/standard/dns.c Diff: diff --cc ext/standard/dns.c index c760fc0,06df385..3ad9268 --- a/ext/standard/dns.c +++ b/ext/standard/dns.c @@@ -465,9 -474,10 +474,10 @@@ static u_char *php_parserr(u_char *cp, cp += dlen; break; case DNS_T_MX: + CHECKCP(2); add_assoc_string(subarray, "type", "MX"); GETSHORT(n, cp); - add_assoc_long(subarray, "pri", n); + add_assoc_int(subarray, "pri", n); /* no break; */ case DNS_T_CNAME: if (type == DNS_T_CNAME) { @@@ -545,16 -562,17 +562,17 @@@ } cp += n; add_assoc_string(subarray, "rname", name); + CHECKCP(5*4); GETLONG(n, cp); - add_assoc_long(subarray, "serial", n); + add_assoc_int(subarray, "serial", n); GETLONG(n, cp); - add_assoc_long(subarray, "refresh", n); + add_assoc_int(subarray, "refresh", n); GETLONG(n, cp); - add_assoc_long(subarray, "retry", n); + add_assoc_int(subarray, "retry", n); GETLONG(n, cp); - add_assoc_long(subarray, "expire", n); + add_assoc_int(subarray, "expire", n); GETLONG(n, cp); - add_assoc_long(subarray, "minimum-ttl", n); + add_assoc_int(subarray, "minimum-ttl", n); break; case DNS_T_AAAA: tp = (u_char*)name; @@@ -592,9 -611,10 +611,10 @@@ case DNS_T_A6: p = cp; add_assoc_string(subarray, "type", "A6"); + CHECKCP(1); n = ((int)cp[0]) & 0xFF; cp++; - add_assoc_long(subarray, "masklen", n); + add_assoc_int(subarray, "masklen", n); tp = (u_char*)name; if (n > 15) { have_v6_break = 1; @@@ -665,14 -686,15 +686,15 @@@ } break; case DNS_T_SRV: + CHECKCP(3*2); add_assoc_string(subarray, "type", "SRV"); GETSHORT(n, cp); - add_assoc_long(subarray, "pri", n); + add_assoc_int(subarray, "pri", n); GETSHORT(n, cp); - add_assoc_long(subarray, "weight", n); + add_assoc_int(subarray, "weight", n); GETSHORT(n, cp); - add_assoc_long(subarray, "port", n); + add_assoc_int(subarray, "port", n); - n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2); + n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2); if (n < 0) { return NULL; } @@@ -680,21 -702,35 +702,35 @@@ add_assoc_string(subarray, "target", name); break; case DNS_T_NAPTR: + CHECKCP(2*2); add_assoc_string(subarray, "type", "NAPTR"); GETSHORT(n, cp); - add_assoc_long(subarray, "order", n); + add_assoc_int(subarray, "order", n); GETSHORT(n, cp); - add_assoc_long(subarray, "pref", n); + add_assoc_int(subarray, "pref", n); + + CHECKCP(1); n = (cp[0] & 0xFF); - add_assoc_stringl(subarray, "flags", (char*)++cp, n); + cp++; + CHECKCP(n); + add_assoc_stringl(subarray, "flags", (char*)cp, n); cp += n; + + CHECKCP(1); n = (cp[0] & 0xFF); - add_assoc_stringl(subarray, "services", (char*)++cp, n); + cp++; + CHECKCP(n); + add_assoc_stringl(subarray, "services", (char*)cp, n); cp += n; + + CHECKCP(1); n = (cp[0] & 0xFF); - add_assoc_stringl(subarray, "regex", (char*)++cp, n); + cp++; + CHECKCP(n); + add_assoc_stringl(subarray, "regex", (char*)cp, n); cp += n; - n = dn_expand(answer->qb2, answer->qb2+65536, cp, name, (sizeof name) - 2); + + n = dn_expand(answer->qb2, end, cp, name, (sizeof name) - 2); if (n < 0) { return NULL; }

« previous php.cvs (#80790) next »