summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-03-21 14:54:40 +0000
committerAlyssa Ross <hi@alyssa.is>2021-03-21 19:35:39 +0000
commit8b690b9481e0adad57b4a75514d40ec71358acbe (patch)
tree9ee55fe52aac7690793d5f3132a0260eece3f378
parentdda096918ec16260b3e822c255521b79eaf876a4 (diff)
downloaducspi-vsock-8b690b9481e0adad57b4a75514d40ec71358acbe.tar
ucspi-vsock-8b690b9481e0adad57b4a75514d40ec71358acbe.tar.gz
ucspi-vsock-8b690b9481e0adad57b4a75514d40ec71358acbe.tar.bz2
ucspi-vsock-8b690b9481e0adad57b4a75514d40ec71358acbe.tar.lz
ucspi-vsock-8b690b9481e0adad57b4a75514d40ec71358acbe.tar.xz
ucspi-vsock-8b690b9481e0adad57b4a75514d40ec71358acbe.tar.zst
ucspi-vsock-8b690b9481e0adad57b4a75514d40ec71358acbe.zip
vsockserver: fix uninitialized variable
Identified by clang-tidy:

    vsockserver.c:105:17: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
                    while ((opt = argz_next(binder_opts, binder_opts_len, opt)))
                                  ^
    vsockserver.c:44:3: note: Assuming the condition is false
                    argz_add(&binder_opts, &binder_opts_len, BINDIR "/vsockserver-socketbinder") ||
                    ^
    vsockserver.c:44:3: note: Left side of '||' is false
    vsockserver.c:47:9: note: Assuming the condition is false
            while ((opt = getopt(argc, argv, "+1qQv")) != -1) {
                   ^
    vsockserver.c:47:2: note: Loop condition is false. Execution continues on line 68
            while ((opt = getopt(argc, argv, "+1qQv")) != -1) {
            ^
    vsockserver.c:68:6: note: Assuming 'alloc_failed' is false
            if (alloc_failed)
                ^
    vsockserver.c:68:2: note: Taking false branch
            if (alloc_failed)
            ^
    vsockserver.c:77:6: note: Assuming the condition is false
            if (optind > argc - 3)
                ^
    vsockserver.c:77:2: note: Taking false branch
            if (optind > argc - 3)
            ^
    vsockserver.c:81:6: note: Assuming the condition is false
            if (argz_add(&binder_opts, &binder_opts_len, "--") ||
                ^
    vsockserver.c:81:6: note: Left side of '||' is false
    vsockserver.c:82:6: note: Assuming the condition is false
                argz_add(&binder_opts, &binder_opts_len, argv[optind++]) ||
                ^
    vsockserver.c:81:6: note: Left side of '||' is false
            if (argz_add(&binder_opts, &binder_opts_len, "--") ||
                ^
    vsockserver.c:83:6: note: Assuming the condition is false
                argz_add(&binder_opts, &binder_opts_len, argv[optind++]))
                ^
    vsockserver.c:81:2: note: Taking false branch
            if (argz_add(&binder_opts, &binder_opts_len, "--") ||
            ^
    vsockserver.c:89:6: note: Assuming the condition is false
            if (argz_append(&binder_opts, &binder_opts_len, daemon_opts, daemon_opts_len))
                ^
    vsockserver.c:89:2: note: Taking false branch
            if (argz_append(&binder_opts, &binder_opts_len, daemon_opts, daemon_opts_len))
            ^
    vsockserver.c:96:23: note: Assuming 'i' is >= 'argc'
            for (int i = optind; i < argc; i++)
                                 ^
    vsockserver.c:96:2: note: Loop condition is false. Execution continues on line 100
            for (int i = optind; i < argc; i++)
            ^
    vsockserver.c:100:6: note: Assuming 'verbosity' is equal to all
            if (verbosity == all) {
                ^
    vsockserver.c:100:2: note: Taking true branch
            if (verbosity == all) {
            ^
    vsockserver.c:101:3: note: 'opt' declared without an initial value
                    char *opt;
                    ^
    vsockserver.c:105:17: note: 3rd function call argument is an uninitialized value
                    while ((opt = argz_next(binder_opts, binder_opts_len, opt)))

Message-Id: <20210321145440.28563-1-hi@alyssa.is>
Reviewed-by: Cole Helbling <cole.e.helbling@outlook.com>
-rw-r--r--vsockserver.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vsockserver.c b/vsockserver.c
index f740a8a..b717eee 100644
--- a/vsockserver.c
+++ b/vsockserver.c
@@ -98,7 +98,7 @@ int main(int argc, char *argv[])
 			diee(EX_OSERR, "malloc");
 
 	if (verbosity == all) {
-		char *opt;
+		char *opt = 0;
 
 		// Log the full argv before we exec it.
 		fprintf(stderr, "%s: executing", program_invocation_short_name);