Add assert() to ensure expression type provides a clone interface. This is a hardening patch, no real crash has been observed here. Signed-off-by: Pablo Neira Ayuso --- src/expression.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/expression.c b/src/expression.c index eb9b7f50f56d..bf60aa3ce42a 100644 --- a/src/expression.c +++ b/src/expression.c @@ -56,8 +56,12 @@ struct expr *expr_alloc(const struct location *loc, enum expr_types etype, struct expr *expr_clone(const struct expr *expr) { + const struct expr_ops *ops = expr_ops(expr); struct expr *new; + assert(ops); + assert(ops->clone); + new = expr_alloc(&expr->location, expr->etype, expr->dtype, expr->byteorder, expr->len); new->flags = expr->flags; -- 2.47.3