Ori.livneh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/178266
Change subject: Use SCOPE_EXIT macros to ensure resources are freed
......................................................................
Use SCOPE_EXIT macros to ensure resources are freed
Change-Id: I163799f1a63020199360efcc5084560fe73923dd
---
M ext_tidy.cpp
1 file changed, 4 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/php/tidy
refs/changes/66/178266/1
diff --git a/ext_tidy.cpp b/ext_tidy.cpp
index 6d21257..714f7c7 100644
--- a/ext_tidy.cpp
+++ b/ext_tidy.cpp
@@ -24,16 +24,16 @@
const Variant& config,
const Variant& encoding) {
TidyDoc doc = tidyCreate();
+ SCOPE_EXIT { tidyRelease(doc); };
tidyOptSetBool(doc, TidyForceOutput, yes);
tidyOptSetBool(doc, TidyMark, no);
String ret;
TidyBuffer errbuf;
tidyBufInit(&errbuf);
+ SCOPE_EXIT { tidyBufFree(&errbuf); };
if (tidySetErrorBuffer(doc, &errbuf) != 0) {
- tidyBufFree(&errbuf);
- tidyRelease(doc);
raise_error("Could not set Tidy error buffer");
}
@@ -57,6 +57,7 @@
TidyBuffer buf;
tidyBufInit(&buf);
tidyBufAttach(&buf, (byte *)data.data(), data.length());
+ SCOPE_EXIT { tidyBufDetach(&buf); tidyBufFree(&buf); };
if (tidyParseBuffer(doc, &buf) < 0) {
raise_warning("%s", errbuf.bp);
@@ -64,15 +65,13 @@
if (tidyCleanAndRepair(doc) >= 0) {
TidyBuffer output;
tidyBufInit(&output);
+ SCOPE_EXIT { tidyBufFree(&output); };
tidySaveBuffer(doc, &output);
ret = String(reinterpret_cast<char*>(output.bp), CopyString);
- tidyBufFree(&output);
}
}
- tidyBufFree(&errbuf);
}
- tidyRelease(doc);
return ret;
}
--
To view, visit https://gerrit.wikimedia.org/r/178266
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I163799f1a63020199360efcc5084560fe73923dd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/php/tidy
Gerrit-Branch: hni
Gerrit-Owner: Ori.livneh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits