From 1c39e6669390d8e567d3ef03c5f3de6966d72c14 Mon Sep 17 00:00:00 2001 From: Kai Blin Date: Tue, 22 Nov 2011 11:26:04 +0100 Subject: [PATCH] s3 libaddns: Prevent a crash when dns_create_update fails When dns_create_update() fails, it does not initialize *req, and then TALLOC_FREE(req) in the error handling crashes if we're lucky. Instead of going into the generic error handling, treat the failure in dns_create_update() like dns_create_update_request() and just pass on the error. Thanks to Harry Mason for reporting this issue. --- lib/addns/dnsrecord.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/addns/dnsrecord.c b/lib/addns/dnsrecord.c index 559c264..bcf9b57 100644 --- a/lib/addns/dnsrecord.c +++ b/lib/addns/dnsrecord.c @@ -337,7 +337,7 @@ DNS_ERROR dns_create_probe(TALLOC_CTX *mem_ctx, const char *zone, uint16 i; err = dns_create_update(mem_ctx, zone, &req); - if (!ERR_DNS_IS_OK(err)) goto error; + if (!ERR_DNS_IS_OK(err)) return err; err = dns_create_name_not_in_use_record(req, host, QTYPE_CNAME, &rec); if (!ERR_DNS_IS_OK(err)) goto error; -- 1.7.0.4