Don't overflow the buffer on bad DNS TXT records

`dlen` can be small but then the chunk length could exceed it and
overrun the buffer.

An example site with this bug is berlin.polemb.net running this code:

```
  $types = array('AAAA' => 1, 'A' => 1);
  $records = dns_get_record("berlin.polemb.net",
                            DNS_A | DNS_TXT | DNS_AAAA | DNS_CNAME,
                           );
  var_dump($records);
```