diff --git a/lib/ovsdb-parser.c b/lib/ovsdb-parser.c index e1832a999..c46c237eb 100644 --- a/lib/ovsdb-parser.c +++ b/lib/ovsdb-parser.c @@ -80,7 +80,7 @@ ovsdb_parser_member(struct ovsdb_parser *parser, const char *name, return NULL; } - if ((value->type >= 0 && value->type < JSON_N_TYPES + if (((int) value->type >= 0 && value->type < JSON_N_TYPES && types & (1u << value->type)) || (types & OP_ID && value->type == JSON_STRING && ovsdb_parser_is_id(value->u.string))) diff --git a/lib/ovsdb-types.h b/lib/ovsdb-types.h index e852391cc..a7b4e2084 100644 --- a/lib/ovsdb-types.h +++ b/lib/ovsdb-types.h @@ -168,7 +168,7 @@ struct json *ovsdb_type_to_json(const struct ovsdb_type *); static inline bool ovsdb_atomic_type_is_valid(enum ovsdb_atomic_type atomic_type) { - return atomic_type >= 0 && atomic_type < OVSDB_N_TYPES; + return (int) atomic_type >= 0 && atomic_type < OVSDB_N_TYPES; } static inline bool