Message ID | 20191210215955.11178-1-andreas.rheinhardt@gmail.com |
---|---|
State | Accepted |
Commit | 56ce2ad2cccf33067b9f428a637f5c11edcc10ea |
Headers | show |
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
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 --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;
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavformat/mov.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)