Skip to content

Commit

Permalink
lavc/mjpegdec: Skip unknown APPx marker on bayer images
Browse files Browse the repository at this point in the history
Samples:
- Embedded JPEG images in the DNG images here:
  https://www.photographyblog.com/previews/pentax_k1_photos

Signed-off-by: Nick Renieris <velocityra@gmail.com>
  • Loading branch information
VelocityRa committed Aug 20, 2019
1 parent 7b4af13 commit 851b45c
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions libavcodec/mjpegdec.c
Expand Up @@ -1807,8 +1807,15 @@ static int mjpeg_decode_app(MJpegDecodeContext *s)
int len, id, i;

len = get_bits(&s->gb, 16);
if (len < 6)
return AVERROR_INVALIDDATA;
if (len < 6) {
if (s->bayer) {
// Pentax K-1 (digital camera) JPEG images embedded in DNG images contain unknown APP0 markers
av_log(s->avctx, AV_LOG_WARNING, "skipping APPx (len=%"PRId32") for bayer-encoded image\n", len);
skip_bits(&s->gb, len);
return 0;
} else
return AVERROR_INVALIDDATA;
}
if (8 * len > get_bits_left(&s->gb))
return AVERROR_INVALIDDATA;

Expand Down

0 comments on commit 851b45c

Please sign in to comment.