[PATCH 4/5] test/parser: Fixed uninitialized variable warning
Joel Stanley
joel at jms.id.au
Tue Mar 6 15:02:19 AEDT 2018
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 at jms.id.au>
---
This is a general problem that clang has with ccan's
list_for_each_entry. I reported it to the maintainer who several months
ago said "yeah, we should fix that".
test/parser/utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/parser/utils.c b/test/parser/utils.c
index 8900bd72bebd..47779c86f783 100644
--- a/test/parser/utils.c
+++ b/test/parser/utils.c
@@ -285,7 +285,7 @@ int parser_replace_file(struct discover_context *ctx,
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)
--
2.15.1
More information about the Petitboot
mailing list