journald: unitialized variable access
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 1 Nov 2017 21:33:26 +0000 (22:33 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 1 Nov 2017 22:08:21 +0000 (23:08 +0100)
../src/journal/journald-native.c:341:13: warning: variable 'context' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
        if (ucred && pid_is_valid(ucred->pid)) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/journal/journald-native.c:350:42: note: uninitialized use occurs here
                                         context, ucred, tv, label, label_len);
                                         ^~~~~~~
../src/journal/journald-native.c:335:31: note: initialize the variable 'context' to silence this warning
        ClientContext *context;
                              ^
                               = NULL

Very nice reporting!

Functions that we call can handle context == NULL, so it's enough to simply
initialize the variable.

src/journal/journald-native.c

index d45c9c2..1ff4e29 100644 (file)
@@ -332,7 +332,7 @@ void server_process_native_message(
                 const char *label, size_t label_len) {
 
         size_t remaining = buffer_size;
-        ClientContext *context;
+        ClientContext *context = NULL;
         int r;
 
         assert(s);