Message ID | 20190406232114.12961-2-michael@niedermayer.cc |
---|---|
State | Accepted |
Commit | 3fe37033b982efa3e76e6dec977dc5048597937b |
Headers | show |
On 4/7/19, Michael Niedermayer <michael@niedermayer.cc> wrote: > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> > --- > libavcodec/pnm_parser.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/libavcodec/pnm_parser.c b/libavcodec/pnm_parser.c > index 91a9edc016..95241c30b3 100644 > --- a/libavcodec/pnm_parser.c > +++ b/libavcodec/pnm_parser.c > @@ -70,19 +70,17 @@ retry: > c = *bs++; > } else if (c == 'P') { > next = bs - pnmctx.bytestream_start + skip - 1; > - if (pnmctx.bytestream_start != buf + skip) > - next -= pc->index; > break; > } > } > } else { > next = pnmctx.bytestream - pnmctx.bytestream_start + skip > + av_image_get_buffer_size(avctx->pix_fmt, avctx->width, > avctx->height, 1); > - if (pnmctx.bytestream_start != buf + skip) > - next -= pc->index; > - if (next > buf_size) > - next = END_NOT_FOUND; > } > + if (next != END_NOT_FOUND && pnmctx.bytestream_start != buf + skip) > + next -= pc->index; > + if (next > buf_size) > + next = END_NOT_FOUND; > > if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { > *poutbuf = NULL; > -- > 2.21.0 probably ok
On Sun, Apr 07, 2019 at 09:48:36AM +0200, Paul B Mahol wrote: > On 4/7/19, Michael Niedermayer <michael@niedermayer.cc> wrote: > > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> > > --- > > libavcodec/pnm_parser.c | 10 ++++------ > > 1 file changed, 4 insertions(+), 6 deletions(-) > > > > diff --git a/libavcodec/pnm_parser.c b/libavcodec/pnm_parser.c > > index 91a9edc016..95241c30b3 100644 > > --- a/libavcodec/pnm_parser.c > > +++ b/libavcodec/pnm_parser.c > > @@ -70,19 +70,17 @@ retry: > > c = *bs++; > > } else if (c == 'P') { > > next = bs - pnmctx.bytestream_start + skip - 1; > > - if (pnmctx.bytestream_start != buf + skip) > > - next -= pc->index; > > break; > > } > > } > > } else { > > next = pnmctx.bytestream - pnmctx.bytestream_start + skip > > + av_image_get_buffer_size(avctx->pix_fmt, avctx->width, > > avctx->height, 1); > > - if (pnmctx.bytestream_start != buf + skip) > > - next -= pc->index; > > - if (next > buf_size) > > - next = END_NOT_FOUND; > > } > > + if (next != END_NOT_FOUND && pnmctx.bytestream_start != buf + skip) > > + next -= pc->index; > > + if (next > buf_size) > > + next = END_NOT_FOUND; > > > > if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { > > *poutbuf = NULL; > > -- > > 2.21.0 > > probably ok will apply thx [...]
diff --git a/libavcodec/pnm_parser.c b/libavcodec/pnm_parser.c index 91a9edc016..95241c30b3 100644 --- a/libavcodec/pnm_parser.c +++ b/libavcodec/pnm_parser.c @@ -70,19 +70,17 @@ retry: c = *bs++; } else if (c == 'P') { next = bs - pnmctx.bytestream_start + skip - 1; - if (pnmctx.bytestream_start != buf + skip) - next -= pc->index; break; } } } else { next = pnmctx.bytestream - pnmctx.bytestream_start + skip + av_image_get_buffer_size(avctx->pix_fmt, avctx->width, avctx->height, 1); - if (pnmctx.bytestream_start != buf + skip) - next -= pc->index; - if (next > buf_size) - next = END_NOT_FOUND; } + if (next != END_NOT_FOUND && pnmctx.bytestream_start != buf + skip) + next -= pc->index; + if (next > buf_size) + next = END_NOT_FOUND; if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) { *poutbuf = NULL;
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavcodec/pnm_parser.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)