summaryrefslogtreecommitdiff
path: root/apps/codecs.c
diff options
context:
space:
mode:
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 d12b43642f..d8ad7146df 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,
243 } 243 }
244 hdr = (struct codec_header *)codecbuf; 244 hdr = (struct codec_header *)codecbuf;
245 245
246 if (hdr->magic != CODEC_MAGIC 246 if (size <= (signed)sizeof(struct codec_header)
247 || hdr->magic != CODEC_MAGIC
247 || hdr->target_id != TARGET_ID 248 || hdr->target_id != TARGET_ID
248 || hdr->load_addr != codecbuf 249 || hdr->load_addr != codecbuf
249 || hdr->end_addr > codecbuf + CODEC_SIZE) { 250 || hdr->end_addr > codecbuf + CODEC_SIZE) {
@@ -258,8 +259,7 @@ int codec_load_ram(char* codecptr, int size, void* ptr2, int bufwrap,
258 259
259 if (hdr == NULL 260 if (hdr == NULL
260 || hdr->magic != CODEC_MAGIC 261 || hdr->magic != CODEC_MAGIC
261 || hdr->target_id != TARGET_ID 262 || hdr->target_id != TARGET_ID) {
262 || hdr->entry_point == NULL) {
263 sim_codec_close(pd); 263 sim_codec_close(pd);
264 return CODEC_ERROR; 264 return CODEC_ERROR;
265 } 265 }