On Fri, Nov 03, 2023 at 05:25:13PM +0100, Thomas Haller wrote: [...] > + /* The json() hooks of "symbol_expr_ops" and "variable_expr_ops" are > + * known to be NULL, but for such expressions we never expect to call > + * expr_print_json(). > + * > + * All other expr_ops must have a json() hook. > + * > + * Unconditionally access the hook (and segfault in case of a bug). */ > + return expr_ops(expr)->json(expr, octx); This does not make sense to me. You're deliberately dropping any error handling and accept a segfault because "it should never happen"? All it takes is someone to add a new expression type and forget about the JSON API. If you absolutely have to remove that fallback code, at least add a BUG() explaining the situation. The sysadmin looking at the segfault report in syslog won't see your comment above. Cheers, Phil