From 61ffad8df484ab9b3f7d2f5519ec470fbc023b88 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 15 May 2015 15:13:25 -0700 Subject: Fix leaks in the embedder tests themselves. Also change EmbedderTest::TearDown() to match the destruction order in Chromium's PDF code. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1138143003 --- testing/embedder_test.cpp | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'testing') diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp index 4cf7a8db8a..9b21609978 100644 --- a/testing/embedder_test.cpp +++ b/testing/embedder_test.cpp @@ -36,24 +36,24 @@ static char* GetFileContents(const char* filename, size_t* retlen) { FILE* file = fopen(filename, "rb"); if (!file) { fprintf(stderr, "Failed to open: %s\n", filename); - return NULL; + return nullptr; } (void) fseek(file, 0, SEEK_END); size_t file_length = ftell(file); if (!file_length) { - return NULL; + return nullptr; } (void) fseek(file, 0, SEEK_SET); char* buffer = (char*) malloc(file_length); if (!buffer) { - return NULL; + return nullptr; } size_t bytes_read = fread(buffer, 1, file_length, file); (void) fclose(file); if (bytes_read != file_length) { fprintf(stderr, "Failed to read: %s\n", filename); free(buffer); - return NULL; + return nullptr; } *retlen = bytes_read; return buffer; @@ -211,21 +211,15 @@ void EmbedderTest::SetUp() { } void EmbedderTest::TearDown() { - if (form_handle_) { - FORM_DoDocumentAAction(form_handle_, FPDFDOC_AACTION_WC); - FPDFDOC_ExitFormFillEnvironment(form_handle_); - } if (document_) { + FORM_DoDocumentAAction(form_handle_, FPDFDOC_AACTION_WC); FPDF_CloseDocument(document_); + FPDFDOC_ExitFormFillEnvironment(form_handle_); } FPDFAvail_Destroy(avail_); FPDF_DestroyLibrary(); - if (loader_) { - delete loader_; - } - if (file_contents_) { - free(file_contents_); - } + delete loader_; + free(file_contents_); } bool EmbedderTest::OpenDocument(const std::string& filename) { @@ -249,9 +243,9 @@ bool EmbedderTest::OpenDocument(const std::string& filename) { (void) FPDFAvail_IsDocAvail(avail_, &hints_); if (!FPDFAvail_IsLinearized(avail_)) { - document_ = FPDF_LoadCustomDocument(&file_access_, NULL); + document_ = FPDF_LoadCustomDocument(&file_access_, nullptr); } else { - document_ = FPDFAvail_GetDocument(avail_, NULL); + document_ = FPDFAvail_GetDocument(avail_, nullptr); } (void) FPDF_GetDocPermissions(document_); -- cgit v1.2.3