]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Auth API: fix missing abortTransaction() in error case 2163/head
authorChristian Hofstaedtler <christian@hofstaedtler.name>
Sun, 18 Jan 2015 17:42:16 +0000 (18:42 +0100)
committermind04 <mind04@monshouwer.org>
Mon, 2 Feb 2015 10:53:21 +0000 (11:53 +0100)
Noticed by Aki Tuomi.
(cherry picked from commit d0f4bb3825281f6acb84477d6879cc494ffa1aaa)

pdns/ws-auth.cc

index 228ee95371f1729109f5f21a7231e8edb56c0a63..43eb8bd8793dc93946732db80c4bd8e13946c782 100644 (file)
@@ -1086,6 +1086,7 @@ static void patchZone(HttpRequest* req, HttpResponse* resp) {
 
     sd.db->startTransaction(rr.qname);
     if (!sd.db->replaceRRSet(sd.domain_id, rr.qname, rr.qtype, vector<DNSResourceRecord>(1, rr))) {
+      sd.db->abortTransaction();
       throw ApiException("PTR-Hosting backend for "+rr.qname+"/"+rr.qtype.getName()+" does not support editing records.");
     }
     sd.db->commitTransaction();