Re: [FFmpeg-devel] [PATCH 01/12] avcodec/wmaprodec: get frame during frame decode

2019-11-09 Thread Michael Niedermayer
On Sat, Nov 09, 2019 at 04:11:13PM +0100, Paul B Mahol wrote:
> ok

will apply

thanks

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In fact, the RIAA has been known to suggest that students drop out
of college or go to community college in order to be able to afford
settlements. -- The RIAA


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

Re: [FFmpeg-devel] [PATCH 01/12] avcodec/wmaprodec: get frame during frame decode

2019-11-09 Thread Paul B Mahol
ok

On 11/9/19, Michael Niedermayer  wrote:
> On Thu, Sep 26, 2019 at 09:50:15AM +0200, Paul B Mahol wrote:
>> bettter add init cleanup?
>
> Thats not the problem, init does not fail with the testcase
> also the cleanup is called for every case init is called
>
> The problem is that ff_get_buffer() during init is not fully supported
>
> Also API says "This callback is called at the beginning of each frame to get
> data"
> so i think the change done by the patch is correct
>
> We could fix the code to make ff_get_buffer() during init work but
> i couldnt find another decoder that does this so it seems thats
> not worth it
>
> Thanks
>
> [...]
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Those who are too smart to engage in politics are punished by being
> governed by those who are dumber. -- Plato
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

Re: [FFmpeg-devel] [PATCH 01/12] avcodec/wmaprodec: get frame during frame decode

2019-11-09 Thread Michael Niedermayer
On Thu, Sep 26, 2019 at 09:50:15AM +0200, Paul B Mahol wrote:
> bettter add init cleanup?

Thats not the problem, init does not fail with the testcase
also the cleanup is called for every case init is called

The problem is that ff_get_buffer() during init is not fully supported

Also API says "This callback is called at the beginning of each frame to get 
data"
so i think the change done by the patch is correct

We could fix the code to make ff_get_buffer() during init work but
i couldnt find another decoder that does this so it seems thats
not worth it

Thanks

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 


signature.asc
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

Re: [FFmpeg-devel] [PATCH 01/12] avcodec/wmaprodec: get frame during frame decode

2019-09-26 Thread Paul B Mahol
bettter add init cleanup?

On 9/25/19, Michael Niedermayer  wrote:
> Fixes: memleak
> Fixes:
> 17615/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XMA2_fuzzer-5681306024804352
>
> Found-by: continuous fuzzing process
> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer 
> ---
>  libavcodec/wmaprodec.c | 10 ++
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
> index d0fa974c80..5ff26e907d 100644
> --- a/libavcodec/wmaprodec.c
> +++ b/libavcodec/wmaprodec.c
> @@ -1793,6 +1793,12 @@ static int xma_decode_packet(AVCodecContext *avctx,
> void *data,
>  AVFrame *frame = data;
>  int i, ret, offset = INT_MAX;
>
> +if (!s->frames[s->current_stream]->data[0]) {
> +s->frames[s->current_stream]->nb_samples = 512;
> +if ((ret = ff_get_buffer(avctx, s->frames[s->current_stream], 0)) <
> 0) {
> +return ret;
> +}
> +}
>  /* decode current stream packet */
>  ret = decode_packet(avctx, >xma[s->current_stream],
> s->frames[s->current_stream],
>  _stream_frame_ptr, avpkt);
> @@ -1915,10 +1921,6 @@ static av_cold int xma_decode_init(AVCodecContext
> *avctx)
>  s->frames[i] = av_frame_alloc();
>  if (!s->frames[i])
>  return AVERROR(ENOMEM);
> -s->frames[i]->nb_samples = 512;
> -if ((ret = ff_get_buffer(avctx, s->frames[i], 0)) < 0) {
> -return AVERROR(ENOMEM);
> -}
>
>  s->start_channel[i] = start_channels;
>  start_channels += s->xma[i].nb_channels;
> --
> 2.23.0
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

[FFmpeg-devel] [PATCH 01/12] avcodec/wmaprodec: get frame during frame decode

2019-09-25 Thread Michael Niedermayer
Fixes: memleak
Fixes: 
17615/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XMA2_fuzzer-5681306024804352

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 
---
 libavcodec/wmaprodec.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index d0fa974c80..5ff26e907d 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -1793,6 +1793,12 @@ static int xma_decode_packet(AVCodecContext *avctx, void 
*data,
 AVFrame *frame = data;
 int i, ret, offset = INT_MAX;
 
+if (!s->frames[s->current_stream]->data[0]) {
+s->frames[s->current_stream]->nb_samples = 512;
+if ((ret = ff_get_buffer(avctx, s->frames[s->current_stream], 0)) < 0) 
{
+return ret;
+}
+}
 /* decode current stream packet */
 ret = decode_packet(avctx, >xma[s->current_stream], 
s->frames[s->current_stream],
 _stream_frame_ptr, avpkt);
@@ -1915,10 +1921,6 @@ static av_cold int xma_decode_init(AVCodecContext *avctx)
 s->frames[i] = av_frame_alloc();
 if (!s->frames[i])
 return AVERROR(ENOMEM);
-s->frames[i]->nb_samples = 512;
-if ((ret = ff_get_buffer(avctx, s->frames[i], 0)) < 0) {
-return AVERROR(ENOMEM);
-}
 
 s->start_channel[i] = start_channels;
 start_channels += s->xma[i].nb_channels;
-- 
2.23.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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