提交 96725153 编写于 作者: S Simon Glass 提交者: Tom Rini

fdtgrep: Deal with NULL data passed to check_type_include()

Since the parameter can be NULL we must be careful not to dereference it
in this case.
Signed-off-by: NSimon Glass <sjg@chromium.org>
Reported-by: Coverity (CID: 163250)
Fixes: 1043d0a0 (fdt: Add fdtgrep tool)
上级 66a1b30d
......@@ -522,18 +522,21 @@ static int check_type_include(void *priv, int type, const char *data, int size)
* return 1 at the first match. For exclusive conditions, we must
* check that there are no matches.
*/
for (val = disp->value_head; val; val = val->next) {
if (!(type & val->type))
continue;
match = fdt_stringlist_contains(data, size, val->string);
debug(" - val->type=%x, str='%s', match=%d\n",
val->type, val->string, match);
if (match && val->include) {
debug(" - match inc %s\n", val->string);
return 1;
if (data) {
for (val = disp->value_head; val; val = val->next) {
if (!(type & val->type))
continue;
match = fdt_stringlist_contains(data, size,
val->string);
debug(" - val->type=%x, str='%s', match=%d\n",
val->type, val->string, match);
if (match && val->include) {
debug(" - match inc %s\n", val->string);
return 1;
}
if (match)
none_match &= ~val->type;
}
if (match)
none_match &= ~val->type;
}
/*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册