Revise earlier check for correct IPv4 addr length to check for ==4.

We need this to match the check in connection_ap_handshake_socks_resolved().

Found by optimist.
This commit is contained in:
Nick Mathewson 2009-06-16 16:12:06 -04:00
parent 3a5259ef68
commit 632579f592
1 changed files with 2 additions and 2 deletions

View File

@ -971,7 +971,7 @@ connection_edge_process_relay_cell_not_open(
2+answer_len));
else
ttl = -1;
if (answer_type == RESOLVED_TYPE_IPV4 && answer_len >= 4) {
if (answer_type == RESOLVED_TYPE_IPV4 && answer_len == 4) {
uint32_t addr = ntohl(get_uint32(cell->payload+RELAY_HEADER_SIZE+2));
if (get_options()->ClientDNSRejectInternalAddresses &&
is_internal_IP(addr, 0)) {
@ -993,7 +993,7 @@ connection_edge_process_relay_cell_not_open(
cell->payload+RELAY_HEADER_SIZE+2, /*answer*/
ttl,
-1);
if (answer_type == RESOLVED_TYPE_IPV4 && answer_len >= 4) {
if (answer_type == RESOLVED_TYPE_IPV4 && answer_len == 4) {
uint32_t addr = ntohl(get_uint32(cell->payload+RELAY_HEADER_SIZE+2));
remap_event_helper(conn, addr);
}