From 246179a8089087059714bd36b8e0f4ad92d24c00 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Sun, 9 Aug 2015 18:23:10 +0200 Subject: jpeg: add jpeg_fetch_size() This aids the fuzzer test case. Change-Id: Ic7d43b76cf5660e085e7b3b13499de0358c13197 Signed-off-by: Patrick Georgi Reviewed-on: http://review.coreboot.org/12181 Reviewed-by: Martin Roth Tested-by: build bot (Jenkins) --- src/lib/jpeg.c | 12 ++++++++++++ src/lib/jpeg.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/lib/jpeg.c b/src/lib/jpeg.c index a86ea06661e4..8d370ec67b19 100644 --- a/src/lib/jpeg.c +++ b/src/lib/jpeg.c @@ -257,6 +257,18 @@ static int dec_checkmarker(void) return 0; } +void jpeg_fetch_size(unsigned char *buf, int *width, int *height) +{ + datap = buf; + getbyte(); + getbyte(); + readtables(M_SOF0); + getword(); + getbyte(); + *height = getword(); + *width = getword(); +} + int jpeg_check_size(unsigned char *buf, int width, int height) { datap = buf; diff --git a/src/lib/jpeg.h b/src/lib/jpeg.h index a32e4aff8e7e..bdde8a4ecf37 100644 --- a/src/lib/jpeg.h +++ b/src/lib/jpeg.h @@ -49,6 +49,7 @@ struct jpeg_decdata { }; int jpeg_decode(unsigned char *, unsigned char *, int, int, int, struct jpeg_decdata *); +void jpeg_fetch_size(unsigned char *buf, int *width, int *height); int jpeg_check_size(unsigned char *, int, int); #endif -- cgit v1.2.3