From a8c408c6a3049dc49e27f39008dff0001bf581bc Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Wed, 18 Jan 2006 08:34:32 +0000 Subject: More consistent error checking. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8364 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'apps/codecs.c') diff --git a/apps/codecs.c b/apps/codecs.c index d12b436..d8ad714 100644 --- a/apps/codecs.c +++ b/apps/codecs.c @@ -243,7 +243,8 @@ int codec_load_ram(char* codecptr, int size, void* ptr2, int bufwrap, } hdr = (struct codec_header *)codecbuf; - if (hdr->magic != CODEC_MAGIC + if (size <= (signed)sizeof(struct codec_header) + || hdr->magic != CODEC_MAGIC || hdr->target_id != TARGET_ID || hdr->load_addr != codecbuf || hdr->end_addr > codecbuf + CODEC_SIZE) { @@ -258,8 +259,7 @@ int codec_load_ram(char* codecptr, int size, void* ptr2, int bufwrap, if (hdr == NULL || hdr->magic != CODEC_MAGIC - || hdr->target_id != TARGET_ID - || hdr->entry_point == NULL) { + || hdr->target_id != TARGET_ID) { sim_codec_close(pd); return CODEC_ERROR; } -- cgit v1.1