Fix the dangling pointer when setting up arguments of imgdiff
Test: unit tests pass Change-Id: If884e805ccd4df73671ab3436eb90860786ff6c9
This commit is contained in:
parent
64307daf5b
commit
8ba7c45e0b
1 changed files with 9 additions and 6 deletions
|
@ -779,9 +779,10 @@ TEST(ImgdiffTest, zip_mode_store_large_apk) {
|
||||||
// Compute patch.
|
// Compute patch.
|
||||||
TemporaryFile patch_file;
|
TemporaryFile patch_file;
|
||||||
TemporaryDir debug_dir;
|
TemporaryDir debug_dir;
|
||||||
|
std::string debug_dir_arg = android::base::StringPrintf("--debug-dir=%s", debug_dir.path);
|
||||||
std::vector<const char*> args = {
|
std::vector<const char*> args = {
|
||||||
"imgdiff", "-z", "--block-limit=10", android::base::StringPrintf(
|
"imgdiff", "-z", "--block-limit=10", debug_dir_arg.c_str(), src_file.path, tgt_file.path,
|
||||||
"--debug-dir=%s", debug_dir.path).c_str(), src_file.path, tgt_file.path, patch_file.path,
|
patch_file.path,
|
||||||
};
|
};
|
||||||
ASSERT_EQ(0, imgdiff(args.size(), args.data()));
|
ASSERT_EQ(0, imgdiff(args.size(), args.data()));
|
||||||
|
|
||||||
|
@ -901,9 +902,10 @@ TEST(ImgdiffTest, zip_mode_no_match_source) {
|
||||||
// Compute patch.
|
// Compute patch.
|
||||||
TemporaryFile patch_file;
|
TemporaryFile patch_file;
|
||||||
TemporaryDir debug_dir;
|
TemporaryDir debug_dir;
|
||||||
|
std::string debug_dir_arg = android::base::StringPrintf("--debug-dir=%s", debug_dir.path);
|
||||||
std::vector<const char*> args = {
|
std::vector<const char*> args = {
|
||||||
"imgdiff", "-z", "--block-limit=10", android::base::StringPrintf(
|
"imgdiff", "-z", "--block-limit=10", debug_dir_arg.c_str(), src_file.path, tgt_file.path,
|
||||||
"--debug-dir=%s", debug_dir.path).c_str(), src_file.path, tgt_file.path, patch_file.path,
|
patch_file.path,
|
||||||
};
|
};
|
||||||
ASSERT_EQ(0, imgdiff(args.size(), args.data()));
|
ASSERT_EQ(0, imgdiff(args.size(), args.data()));
|
||||||
|
|
||||||
|
@ -940,9 +942,10 @@ TEST(ImgdiffTest, zip_mode_large_enough_limit) {
|
||||||
// Compute patch with a limit of 20 blocks.
|
// Compute patch with a limit of 20 blocks.
|
||||||
TemporaryFile patch_file;
|
TemporaryFile patch_file;
|
||||||
TemporaryDir debug_dir;
|
TemporaryDir debug_dir;
|
||||||
|
std::string debug_dir_arg = android::base::StringPrintf("--debug-dir=%s", debug_dir.path);
|
||||||
std::vector<const char*> args = {
|
std::vector<const char*> args = {
|
||||||
"imgdiff", "-z", "--block-limit=20", android::base::StringPrintf(
|
"imgdiff", "-z", "--block-limit=20", debug_dir_arg.c_str(), src_file.path, tgt_file.path,
|
||||||
"--debug-dir=%s", debug_dir.path).c_str(), src_file.path, tgt_file.path, patch_file.path,
|
patch_file.path,
|
||||||
};
|
};
|
||||||
ASSERT_EQ(0, imgdiff(args.size(), args.data()));
|
ASSERT_EQ(0, imgdiff(args.size(), args.data()));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue