[systemd-commits] src/resolve
Zbigniew Jędrzejewski-Szmek
zbyszek at kemper.freedesktop.org
Thu Nov 27 08:08:05 PST 2014
src/resolve/resolved-dns-packet.c | 7 +++++++
1 file changed, 7 insertions(+)
New commits:
commit 0e3434aeb1eed951fdbeddacc6126e10d82a1c8b
Author: Stanisław Pitucha <viraptor at gmail.com>
Date: Tue Nov 18 14:52:13 2014 +1100
resolve: reject empty TXT records
TXT records should have at least one character, so enforce this.
Before 0f84a72 parser SIGSEGV'd on ->txt.strings being NULL, but
even if this is fixed we should reject invalid TXT records.
diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c
index c587a56..a9bd8b1 100644
--- a/src/resolve/resolved-dns-packet.c
+++ b/src/resolve/resolved-dns-packet.c
@@ -1114,6 +1114,13 @@ int dns_packet_read_rr(DnsPacket *p, DnsResourceRecord **ret, size_t *start) {
case DNS_TYPE_TXT: {
char *s;
+ /* RFC 1035 says that TXT must be at least one
+ string. Reject empty records. */
+ if (!rdlength) {
+ r = -EBADMSG;
+ goto fail;
+ }
+
while (p->rindex < offset + rdlength) {
r = dns_packet_read_string(p, &s, NULL);
if (r < 0)
More information about the systemd-commits
mailing list