test/parser: Fixed uninitialized variable warning
authorJoel Stanley <joel@jms.id.au>
Tue, 6 Mar 2018 04:02:19 +0000 (14:32 +1030)
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>
Wed, 7 Mar 2018 05:24:31 +0000 (16:24 +1100)
Clang has a problem with list_for_each_entry:

test/parser/utils.c:290:36: error: variable 'file' is used uninitialized whenever 'for' loop exits because its condition is false [-Werror,-Wsometimes-uninitialized]
        list_for_each_entry(&test->files, f, list) {
                                          ^
./lib/list/list.h:30:3: note: expanded from macro 'list_for_each_entry'
                _pos; _pos = list_next_entry(_list, _pos, _member))
                ^~~~
test/parser/utils.c:300:7: note: uninitialized use occurs here
        if (!file) {
             ^~~~
test/parser/utils.c:290:36: note: remove the condition if it is always true
        list_for_each_entry(&test->files, f, list) {
                                          ^
./lib/list/list.h:30:3: note: expanded from macro 'list_for_each_entry'
                _pos; _pos = list_next_entry(_list, _pos, _member))
                ^
test/parser/utils.c:288:28: note: initialize the variable 'file' to silence this warning
        struct test_file *f, *file;
                                  ^
                                   = NULL

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
test/parser/utils.c

index 8900bd72bebdcf37ea04c316520b45f4b0db1a15..47779c86f7832fcd792fd32114c777bee569b029 100644 (file)
@@ -285,7 +285,7 @@ int parser_replace_file(struct discover_context *ctx,
                char *buf, int len)
 {
        struct parser_test *test = ctx->test_data;
                char *buf, int len)
 {
        struct parser_test *test = ctx->test_data;
-       struct test_file *f, *file;
+       struct test_file *f, *file = NULL;
 
        list_for_each_entry(&test->files, f, list) {
                if (f->dev != dev)
 
        list_for_each_entry(&test->files, f, list) {
                if (f->dev != dev)