aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/eval.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2025-03-05 03:14:16 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2025-03-08 01:05:47 +0100
commitf641c6846ac419284ae73948b617a250b1a3c22d (patch)
tree2ee244d38ad4f7659ab47944a1129f8dfe4ace26 /libavutil/eval.c
parent39286d97f259a9b9666520ff1f9bdff6561f7e3c (diff)
downloadffmpeg-f641c6846ac419284ae73948b617a250b1a3c22d.tar.gz
avutil/log: Set AVClass* in av_expr_eval()
Otherwise it is possible for av_log() to receive a non-NULL object with a NULL AVClass pointer; the default log callback handles it gracefully, yet this is probably an API violation. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavutil/eval.c')
-rw-r--r--libavutil/eval.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libavutil/eval.c b/libavutil/eval.c
index 298925a6e5..7fa5d5d9d5 100644
--- a/libavutil/eval.c
+++ b/libavutil/eval.c
@@ -791,12 +791,14 @@ int av_expr_count_func(AVExpr *e, unsigned *counter, int size, int arg)
double av_expr_eval(AVExpr *e, const double *const_values, void *opaque)
{
- Parser p = { 0 };
- p.var= e->var;
- p.prng_state= e->prng_state;
+ Parser p = {
+ .class = &eval_class,
+ .const_values = const_values,
+ .opaque = opaque,
+ .var = e->var,
+ .prng_state = e->prng_state,
+ };
- p.const_values = const_values;
- p.opaque = opaque;
return eval_expr(&p, e);
}