diff mbox

[FFmpeg-devel,01/11] avformat/mov: Use ff_alloc_extradata for dvdsub extradata

Message ID 20191210215955.11178-1-andreas.rheinhardt@gmail.com
State Accepted
Commit 56ce2ad2cccf33067b9f428a637f5c11edcc10ea
Headers show

Commit Message

Andreas Rheinhardt Dec. 10, 2019, 9:59 p.m. UTC
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 libavformat/mov.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

Comments

Jun Zhao Dec. 11, 2019, 8:03 a.m. UTC | #1
On Wed, Dec 11, 2019 at 6:00 AM Andreas Rheinhardt
<andreas.rheinhardt@gmail.com> wrote:
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
> ---
>  libavformat/mov.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 7553a7fdfc..733f4e4a34 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -2255,7 +2255,7 @@ static int mov_rewrite_dvd_sub_extradata(AVStream *st)
>  {
>      char buf[256] = {0};
>      uint8_t *src = st->codecpar->extradata;
> -    int i;
> +    int i, ret;
>
>      if (st->codecpar->extradata_size != 64)
>          return 0;
> @@ -2275,12 +2275,9 @@ static int mov_rewrite_dvd_sub_extradata(AVStream *st)
>      if (av_strlcat(buf, "\n", sizeof(buf)) >= sizeof(buf))
>          return 0;
>
> -    av_freep(&st->codecpar->extradata);
> -    st->codecpar->extradata_size = 0;
> -    st->codecpar->extradata = av_mallocz(strlen(buf) + AV_INPUT_BUFFER_PADDING_SIZE);
> -    if (!st->codecpar->extradata)
> -        return AVERROR(ENOMEM);
> -    st->codecpar->extradata_size = strlen(buf);
> +    ret = ff_alloc_extradata(st->codecpar, strlen(buf));
> +    if (ret < 0)
> +        return ret;
>      memcpy(st->codecpar->extradata, buf, st->codecpar->extradata_size);
>
>      return 0;
> --
> 2.20.1
>
LGTM
Michael Niedermayer Dec. 12, 2019, 5:50 p.m. UTC | #2
On Wed, Dec 11, 2019 at 04:03:12PM +0800, mypopy@gmail.com wrote:
> On Wed, Dec 11, 2019 at 6:00 AM Andreas Rheinhardt
> <andreas.rheinhardt@gmail.com> wrote:
> >
> > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
> > ---
> >  libavformat/mov.c | 11 ++++-------
> >  1 file changed, 4 insertions(+), 7 deletions(-)
> >
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index 7553a7fdfc..733f4e4a34 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -2255,7 +2255,7 @@ static int mov_rewrite_dvd_sub_extradata(AVStream *st)
> >  {
> >      char buf[256] = {0};
> >      uint8_t *src = st->codecpar->extradata;
> > -    int i;
> > +    int i, ret;
> >
> >      if (st->codecpar->extradata_size != 64)
> >          return 0;
> > @@ -2275,12 +2275,9 @@ static int mov_rewrite_dvd_sub_extradata(AVStream *st)
> >      if (av_strlcat(buf, "\n", sizeof(buf)) >= sizeof(buf))
> >          return 0;
> >
> > -    av_freep(&st->codecpar->extradata);
> > -    st->codecpar->extradata_size = 0;
> > -    st->codecpar->extradata = av_mallocz(strlen(buf) + AV_INPUT_BUFFER_PADDING_SIZE);
> > -    if (!st->codecpar->extradata)
> > -        return AVERROR(ENOMEM);
> > -    st->codecpar->extradata_size = strlen(buf);
> > +    ret = ff_alloc_extradata(st->codecpar, strlen(buf));
> > +    if (ret < 0)
> > +        return ret;
> >      memcpy(st->codecpar->extradata, buf, st->codecpar->extradata_size);
> >
> >      return 0;
> > --
> > 2.20.1
> >
> LGTM

will apply

[...]
diff mbox

Patch

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 7553a7fdfc..733f4e4a34 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2255,7 +2255,7 @@  static int mov_rewrite_dvd_sub_extradata(AVStream *st)
 {
     char buf[256] = {0};
     uint8_t *src = st->codecpar->extradata;
-    int i;
+    int i, ret;
 
     if (st->codecpar->extradata_size != 64)
         return 0;
@@ -2275,12 +2275,9 @@  static int mov_rewrite_dvd_sub_extradata(AVStream *st)
     if (av_strlcat(buf, "\n", sizeof(buf)) >= sizeof(buf))
         return 0;
 
-    av_freep(&st->codecpar->extradata);
-    st->codecpar->extradata_size = 0;
-    st->codecpar->extradata = av_mallocz(strlen(buf) + AV_INPUT_BUFFER_PADDING_SIZE);
-    if (!st->codecpar->extradata)
-        return AVERROR(ENOMEM);
-    st->codecpar->extradata_size = strlen(buf);
+    ret = ff_alloc_extradata(st->codecpar, strlen(buf));
+    if (ret < 0)
+        return ret;
     memcpy(st->codecpar->extradata, buf, st->codecpar->extradata_size);
 
     return 0;