diff mbox series

[FFmpeg-devel] cherrypick ab7926341 into 4.2

Message ID CAFPj7D0pxTveX6N62YhgX351s8Yy86q3pOSsVH6CfABDMx0RmQ@mail.gmail.com
State New
Headers show
Series [FFmpeg-devel] cherrypick ab7926341 into 4.2 | expand

Checks

Context Check Description
yinshiyou/configure_loongarch64 warning Failed to apply patch
andriy/configure_x86 warning Failed to apply patch

Commit Message

Reed Weichler Nov. 16, 2023, 10:28 p.m. UTC
pretty self-explanatory.
i guess they forgot to cherrypick it when it was first committed.
here is my code to repro: https://pastebin.com/raw/yQr3WWvX
it needs a FLAC file as input.
it hit an EXC_BAD_ACCESS here:
https://github.com/FFmpeg/FFmpeg/blob/c6c36aa97a/libavformat/utils.c#L2227
index was equal to -1, so that code shouldnt even run, which usually means
undefined behavior
---
 libavformat/utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

     int64_t ret;
--
2.42.1

Comments

Reed Weichler Nov. 16, 2023, 10:34 p.m. UTC | #1
Oops, sorry. I forgot to turn off HTML. Let me retry

On Thu, Nov 16, 2023 at 2:28 PM Reed Weichler <rweichler@gmail.com> wrote:

> pretty self-explanatory.
> i guess they forgot to cherrypick it when it was first committed.
> here is my code to repro: https://pastebin.com/raw/yQr3WWvX
> it needs a FLAC file as input.
> it hit an EXC_BAD_ACCESS here:
> https://github.com/FFmpeg/FFmpeg/blob/c6c36aa97a/libavformat/utils.c#L2227
> index was equal to -1, so that code shouldnt even run, which usually means
> undefined behavior
> ---
>  libavformat/utils.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index 4067d55fa1..2143d9fb59 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -2183,7 +2183,7 @@ int ff_seek_frame_binary(AVFormatContext *s, int
> stream_index,
>                           int64_t target_ts, int flags)
>  {
>      const AVInputFormat *avif = s->iformat;
> -    int64_t av_uninit(pos_min), av_uninit(pos_max), pos, pos_limit;
> +    int64_t pos_min = 0, pos_max = 0, pos, pos_limit;
>      int64_t ts_min, ts_max, ts;
>      int index;
>      int64_t ret;
> --
> 2.42.1
>
diff mbox series

Patch

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 4067d55fa1..2143d9fb59 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2183,7 +2183,7 @@  int ff_seek_frame_binary(AVFormatContext *s, int
stream_index,
                          int64_t target_ts, int flags)
 {
     const AVInputFormat *avif = s->iformat;
-    int64_t av_uninit(pos_min), av_uninit(pos_max), pos, pos_limit;
+    int64_t pos_min = 0, pos_max = 0, pos, pos_limit;
     int64_t ts_min, ts_max, ts;
     int index;