[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 02/10] fuzz: Fix leak when assembling datadir path string
From: |
Thomas Huth |
Subject: |
[PULL 02/10] fuzz: Fix leak when assembling datadir path string |
Date: |
Tue, 21 Jul 2020 10:10:47 +0200 |
From: Alexander Bulekov <alxndr@bu.edu>
We freed the string containing the final datadir path, but did not free
the path to the executable's directory that we get from
g_path_get_dirname(). Fix that.
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20200717163523.1591-1-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
tests/qtest/fuzz/fuzz.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/tests/qtest/fuzz/fuzz.c b/tests/qtest/fuzz/fuzz.c
index 6bc17ef313..031594a686 100644
--- a/tests/qtest/fuzz/fuzz.c
+++ b/tests/qtest/fuzz/fuzz.c
@@ -143,7 +143,7 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char
***envp)
{
char *target_name;
- char *dir;
+ char *bindir, *datadir;
bool serialize = false;
/* Initialize qgraph and modules */
@@ -164,11 +164,13 @@ int LLVMFuzzerInitialize(int *argc, char ***argv, char
***envp)
* location of the executable. Using this we add exec_dir/pc-bios to
* the datadirs.
*/
- dir = g_build_filename(g_path_get_dirname(**argv), "pc-bios", NULL);
- if (g_file_test(dir, G_FILE_TEST_IS_DIR)) {
- qemu_add_data_dir(dir);
+ bindir = g_path_get_dirname(**argv);
+ datadir = g_build_filename(bindir, "pc-bios", NULL);
+ g_free(bindir);
+ if (g_file_test(datadir, G_FILE_TEST_IS_DIR)) {
+ qemu_add_data_dir(datadir);
}
- g_free(dir);
+ g_free(datadir);
} else if (*argc > 1) { /* The target is specified as an argument */
target_name = (*argv)[1];
if (!strstr(target_name, "--fuzz-target=")) {
--
2.18.1
- [PULL 00/10] qtest / fuzzer patches, Thomas Huth, 2020/07/21
- [PULL 01/10] scripts/oss-fuzz: Limit target list to i386-softmmu, Thomas Huth, 2020/07/21
- [PULL 02/10] fuzz: Fix leak when assembling datadir path string,
Thomas Huth <=
- [PULL 03/10] gitlab-ci.yml: Add oss-fuzz build tests, Thomas Huth, 2020/07/21
- [PULL 04/10] fuzz: build without AddressSanitizer, by default, Thomas Huth, 2020/07/21
- [PULL 05/10] docs/fuzz: describe building fuzzers with enable-sanitizers, Thomas Huth, 2020/07/21
- [PULL 07/10] docs/fuzz: add instructions for generating a coverage report, Thomas Huth, 2020/07/21
- [PULL 06/10] docs/fuzz: add information about useful libFuzzer flags, Thomas Huth, 2020/07/21
- [PULL 10/10] hw: Mark nd_table[] misuse in realize methods FIXME, Thomas Huth, 2020/07/21
- [PULL 08/10] MAINTAINERS: Extend the device fuzzing section, Thomas Huth, 2020/07/21
- [PULL 09/10] msf2: Unbreak device-list-properties for "msf-soc", Thomas Huth, 2020/07/21
- Re: [PULL 00/10] qtest / fuzzer patches, Peter Maydell, 2020/07/21