diff options
author | Patrick Georgi <patrick@georgi-clan.de> | 2015-08-09 18:23:10 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-10-28 19:15:17 +0100 |
commit | 246179a8089087059714bd36b8e0f4ad92d24c00 (patch) | |
tree | 37aff686d76783ae370c12ccb9f820f8f0464a2a /src | |
parent | a5c5db37eecc056792be72f6ef71d4ea6f1a7207 (diff) | |
download | coreboot-246179a8089087059714bd36b8e0f4ad92d24c00.tar.xz |
jpeg: add jpeg_fetch_size()
This aids the fuzzer test case.
Change-Id: Ic7d43b76cf5660e085e7b3b13499de0358c13197
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/12181
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/jpeg.c | 12 | ||||
-rw-r--r-- | src/lib/jpeg.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/jpeg.c b/src/lib/jpeg.c index a86ea06661..8d370ec67b 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 a32e4aff8e..bdde8a4ecf 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 |