-- v2: widl: Stop possible dereference (Coverity)
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- tools/widl/header.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tools/widl/header.c b/tools/widl/header.c index b7497e215d5..0cbb8eb53c9 100644 --- a/tools/widl/header.c +++ b/tools/widl/header.c @@ -168,7 +168,7 @@ static void write_fields(FILE *h, var_list_t *fields, enum name_type name_type) if (!fields) return;
LIST_FOR_EACH_ENTRY( v, fields, var_t, entry ) { - if (!v || !v->declspec.type) continue; + if (!v->declspec.type) continue;
switch(type_get_type_detect_alias(v->declspec.type)) { case TYPE_STRUCT: @@ -184,8 +184,9 @@ static void write_fields(FILE *h, var_list_t *fields, enum name_type name_type) }
LIST_FOR_EACH_ENTRY( v, fields, var_t, entry ) { - expr_t *contract = get_attrp(v->attrs, ATTR_CONTRACT); - if (!v || !v->declspec.type) continue; + expr_t *contract; + if (!v->declspec.type) continue; + contract = get_attrp(v->attrs, ATTR_CONTRACT); if (contract) write_apicontract_guard_start(h, contract);
indent(h, 0);