ffmpeg | branch: master | Anton Khirnov <an...@khirnov.net> | Thu Sep 26 
18:08:04 2024 +0200| [505fea34e53e0459d1ca6604a3f4737f0b90902c] | committer: 
Anton Khirnov

lavu/opt: avoid accidentally propagating spurious errors

An error from read_number() is non-fatal here and should not be
forwarded.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=505fea34e53e0459d1ca6604a3f4737f0b90902c
---

 libavutil/opt.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavutil/opt.c b/libavutil/opt.c
index 02ed9d9fe9..93f2bb1320 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -2343,13 +2343,15 @@ int av_opt_set_array(void *obj, const char *name, int 
search_flags,
         int64_t intnum = 1;
 
         if (val_type == TYPE_BASE(o->type)) {
+            int err;
+
             ret = opt_copy_elem(obj, val_type, dst, src);
             if (ret < 0)
                 goto fail;
 
             // validate the range for numeric options
-            ret = read_number(o, dst, &num, &den, &intnum);
-            if (ret >= 0 && TYPE_BASE(o->type) != AV_OPT_TYPE_FLAGS &&
+            err = read_number(o, dst, &num, &den, &intnum);
+            if (err >= 0 && TYPE_BASE(o->type) != AV_OPT_TYPE_FLAGS &&
                 (!den || o->max * den < num * intnum || o->min * den > num * 
intnum)) {
                 num = den ? num * intnum / den : (num && intnum ? INFINITY : 
NAN);
                 av_log(obj, AV_LOG_ERROR, "Cannot set array element %u for "

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to