summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2011-11-22 11:26:04 +0100
committerKai Blin <kai@samba.org>2011-11-22 14:29:07 +0100
commit81b4db74a704fbc57e7fed8b8a75fc6de18a4e8d (patch)
tree3ada1bb9b3e4317f7d3dda9ea7e5364b843f42f5
parentb16f539e0eb014591a3cf8f5e9a330999e53d96a (diff)
downloadsamba-81b4db74a704fbc57e7fed8b8a75fc6de18a4e8d.tar.gz
samba-81b4db74a704fbc57e7fed8b8a75fc6de18a4e8d.tar.bz2
samba-81b4db74a704fbc57e7fed8b8a75fc6de18a4e8d.zip
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. Autobuild-User: Kai Blin <kai@samba.org> Autobuild-Date: Tue Nov 22 14:29:07 CET 2011 on sn-devel-104
-rw-r--r--lib/addns/dnsrecord.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/addns/dnsrecord.c b/lib/addns/dnsrecord.c
index 045fd465da..de70bca214 100644
--- a/lib/addns/dnsrecord.c
+++ b/lib/addns/dnsrecord.c
@@ -377,7 +377,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;