tools/test-runner: Fix errors reported by scan-build
authorTedd Ho-Jeong An <tedd.an@intel.com>
Fri, 1 Jul 2022 00:43:52 +0000 (17:43 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 15 May 2023 09:25:54 +0000 (14:55 +0530)
This patch fixes the errors reported by the scan-build.

tools/test-runner.c:315:2: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
        execve(argv[0], argv, qemu_envp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

tools/test-runner.c:554:6: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
        if (chdir(home + 5) < 0) {
            ^~~~~~~~~~~~~~~

tools/test-runner.c:638:6: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
        if (chdir(home + 5) < 0) {
            ^~~~~~~~~~~~~~~

tools/test-runner.c:695:6: warning: Null pointer passed to 1st parameter
expecting 'nonnull' [core.NonNullParamChecker]
        if (chdir(home + 5) < 0) {
            ^~~~~~~~~~~~~~~

tools/test-runner.c:984:3: warning: Value stored to 'serial_fd' is never
read [deadcode.DeadStores]
                serial_fd = -1;
                ^           ~~

Signed-off-by: Manika Shrivastava <manika.sh@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
tools/test-runner.c

index 962b601..15a9000 100755 (executable)
@@ -268,6 +268,11 @@ static void start_qemu(void)
 
        pos = (sizeof(qemu_argv) / sizeof(char *)) - 1;
 
+       /* Make sure qemu_binary is not null */
+       if (!qemu_binary) {
+               fprintf(stderr, "No QEMU binary is set\n");
+               exit(1);
+       }
        argv[0] = (char *) qemu_binary;
 
        if (audio_support) {
@@ -803,6 +808,11 @@ static void run_command(char *cmdname, char *home)
        pid_t pid, dbus_pid, daemon_pid, monitor_pid, emulator_pid,
              dbus_session_pid, udevd_pid;
 
+       if (!home) {
+               perror("Invalid parameter: TESTHOME");
+               return;
+       }
+
        if (num_devs) {
                const char *node = "/dev/ttyS1";
                unsigned int basic_flags, extra_flags;
@@ -982,10 +992,8 @@ start_next:
        if (udevd_pid > 0)
                kill(udevd_pid, SIGTERM);
 
-       if (serial_fd >= 0) {
+       if (serial_fd >= 0)
                close(serial_fd);
-               serial_fd = -1;
-       }
 }
 
 static void run_tests(void)