]> git.saurik.com Git - apt.git/blobdiff - test/libapt/file-helpers.cc
fix memory leaks reported by -fsanitize
[apt.git] / test / libapt / file-helpers.cc
index 5edb9a9fead18491e86731a7f49a473a49988150..3871928685cd33d5563593707d52b938de631ce4 100644 (file)
@@ -53,20 +53,19 @@ void helperCreateLink(std::string const &dir, std::string const &targetname, std
    link.append(linkname);
    ASSERT_EQ(0, symlink(target.c_str(), link.c_str()));
 }
-void helperCreateTemporaryFile(std::string const &id, FileFd &fd, char * * const filename, char const * const content)
+void helperCreateTemporaryFile(std::string const &id, FileFd &fd, std::string * const filename, char const * const content)
 {
    std::string name("apt-test-");
    name.append(id).append(".XXXXXXXX");
    char * tempfile = strdup(name.c_str());
+   ASSERT_STRNE(NULL, tempfile);
    int tempfile_fd = mkstemp(tempfile);
    ASSERT_NE(-1, tempfile_fd);
    if (filename != NULL)
       *filename = tempfile;
    else
-   {
       unlink(tempfile);
-      free(tempfile);
-   }
+   free(tempfile);
 
    EXPECT_TRUE(fd.OpenDescriptor(tempfile_fd, FileFd::ReadWrite));
    if (content != NULL)