]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Auth API: fix missing abortTransaction() in error case 2094/head
authorChristian Hofstaedtler <christian@hofstaedtler.name>
Sun, 18 Jan 2015 17:42:16 +0000 (18:42 +0100)
committerChristian Hofstaedtler <christian@hofstaedtler.name>
Sun, 18 Jan 2015 17:42:40 +0000 (18:42 +0100)
Noticed by Aki Tuomi.

pdns/ws-auth.cc

index c46928569addd9c2617a4f396f57d238a63004e6..4014791441f8b1110ac4a6af82584a4a437dc811 100644 (file)
@@ -1017,6 +1017,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();