summaryrefslogtreecommitdiff
path: root/apps/codecs.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-01-18 08:34:32 +0000
committerJens Arnold <amiconn@rockbox.org>2006-01-18 08:34:32 +0000
commita8c408c6a3049dc49e27f39008dff0001bf581bc (patch)
tree44762072cecd0143b2b47a5ee1d35db85a3c543a /apps/codecs.c
parent22ffc9bf0337876157ce2f6ed2594dc81f979dba (diff)
downloadrockbox-a8c408c6a3049dc49e27f39008dff0001bf581bc.zip
rockbox-a8c408c6a3049dc49e27f39008dff0001bf581bc.tar.gz
rockbox-a8c408c6a3049dc49e27f39008dff0001bf581bc.tar.bz2
rockbox-a8c408c6a3049dc49e27f39008dff0001bf581bc.tar.xz
More consistent error checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8364 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs.c')
-rw-r--r--apps/codecs.c6
1 files changed, 3 insertions, 3 deletions
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;
}