More consistent error checking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8364 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
22ffc9bf03
commit
a8c408c6a3
2 changed files with 7 additions and 7 deletions
|
@ -243,7 +243,8 @@ int codec_load_ram(char* codecptr, int size, void* ptr2, int bufwrap,
|
||||||
}
|
}
|
||||||
hdr = (struct codec_header *)codecbuf;
|
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->target_id != TARGET_ID
|
||||||
|| hdr->load_addr != codecbuf
|
|| hdr->load_addr != codecbuf
|
||||||
|| hdr->end_addr > codecbuf + CODEC_SIZE) {
|
|| 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
|
if (hdr == NULL
|
||||||
|| hdr->magic != CODEC_MAGIC
|
|| hdr->magic != CODEC_MAGIC
|
||||||
|| hdr->target_id != TARGET_ID
|
|| hdr->target_id != TARGET_ID) {
|
||||||
|| hdr->entry_point == NULL) {
|
|
||||||
sim_codec_close(pd);
|
sim_codec_close(pd);
|
||||||
return CODEC_ERROR;
|
return CODEC_ERROR;
|
||||||
}
|
}
|
||||||
|
|
|
@ -399,8 +399,7 @@ int plugin_load(const char* plugin, void* parameter)
|
||||||
}
|
}
|
||||||
if (hdr == NULL
|
if (hdr == NULL
|
||||||
|| hdr->magic != PLUGIN_MAGIC
|
|| hdr->magic != PLUGIN_MAGIC
|
||||||
|| hdr->target_id != TARGET_ID
|
|| hdr->target_id != TARGET_ID) {
|
||||||
|| hdr->entry_point == NULL) {
|
|
||||||
sim_plugin_close(fd);
|
sim_plugin_close(fd);
|
||||||
gui_syncsplash(HZ*2, true, str(LANG_PLUGIN_WRONG_MODEL));
|
gui_syncsplash(HZ*2, true, str(LANG_PLUGIN_WRONG_MODEL));
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -423,13 +422,14 @@ int plugin_load(const char* plugin, void* parameter)
|
||||||
readsize = read(fd, pluginbuf, PLUGIN_BUFFER_SIZE);
|
readsize = read(fd, pluginbuf, PLUGIN_BUFFER_SIZE);
|
||||||
close(fd);
|
close(fd);
|
||||||
|
|
||||||
if (readsize <= (signed)sizeof(struct plugin_header)) {
|
if (readsize < 0) {
|
||||||
gui_syncsplash(HZ*2, true, str(LANG_READ_FAILED), plugin);
|
gui_syncsplash(HZ*2, true, str(LANG_READ_FAILED), plugin);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
hdr = (struct plugin_header *)pluginbuf;
|
hdr = (struct plugin_header *)pluginbuf;
|
||||||
|
|
||||||
if (hdr->magic != PLUGIN_MAGIC
|
if ((unsigned)readsize <= sizeof(struct plugin_header)
|
||||||
|
|| hdr->magic != PLUGIN_MAGIC
|
||||||
|| hdr->target_id != TARGET_ID
|
|| hdr->target_id != TARGET_ID
|
||||||
|| hdr->load_addr != pluginbuf
|
|| hdr->load_addr != pluginbuf
|
||||||
|| hdr->end_addr > pluginbuf + PLUGIN_BUFFER_SIZE) {
|
|| hdr->end_addr > pluginbuf + PLUGIN_BUFFER_SIZE) {
|
||||||
|
|
Loading…
Reference in a new issue