diff options
author | Lei Zhang <thestig@chromium.org> | 2015-05-15 15:13:25 -0700 |
---|---|---|
committer | Lei Zhang <thestig@chromium.org> | 2015-05-15 15:13:25 -0700 |
commit | 61ffad8df484ab9b3f7d2f5519ec470fbc023b88 (patch) | |
tree | 0bc082f49a3961df5138928ee84f4a47eb1de4c7 /testing/embedder_test.cpp | |
parent | 9f6f34892fdfff87c49a9df4c1e34790c0fa1272 (diff) | |
download | pdfium-61ffad8df484ab9b3f7d2f5519ec470fbc023b88.tar.xz |
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
Diffstat (limited to 'testing/embedder_test.cpp')
-rw-r--r-- | testing/embedder_test.cpp | 26 |
1 files changed, 10 insertions, 16 deletions
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_); |