]> git.sesse.net Git - ffmpeg/commit
avcodec/parser: Don't return pointer to stack buffer
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Fri, 19 Mar 2021 15:02:15 +0000 (16:02 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 20 Mar 2021 02:56:57 +0000 (03:56 +0100)
commit9faf3f8bb04e537f552332aa316c6659dcd7d251
tree6bcc79a58a9c00053580785ff0b91810f769c0e6
parentf21b47f38c2fe67fe218a5621aec24be45ca12a2
avcodec/parser: Don't return pointer to stack buffer

When flushing, the parser receives a dummy buffer with padding
that lives on the stack of av_parser_parse2(). Certain parsers
(e.g. Dolby E) only analyze the input, but don't repack it. When
flushing, such parsers return a pointer to the stack buffer and
a size of 0. And this is also what av_parser_parse2() returns.

Fix this by always resetting poutbuf in case poutbuf_size is zero.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/parser.c