summaryrefslogtreecommitdiff
path: root/apps/plugins/rockboy.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/rockboy.c')
-rw-r--r--apps/plugins/rockboy.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/apps/plugins/rockboy.c b/apps/plugins/rockboy.c
index d531c9405b..e2ffc30d99 100644
--- a/apps/plugins/rockboy.c
+++ b/apps/plugins/rockboy.c
@@ -69,10 +69,12 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter)
69 " overlay doesn't fit into memory."); 69 " overlay doesn't fit into memory.");
70 return PLUGIN_ERROR; 70 return PLUGIN_ERROR;
71 } 71 }
72 rb->memset(header.start_addr, 0, header.end_addr - header.start_addr);
73
72 rb->lseek(fh, 0, SEEK_SET); 74 rb->lseek(fh, 0, SEEK_SET);
73 readsize = rb->read(fh, header.start_addr, header.end_addr - header.start_addr); 75 readsize = rb->read(fh, header.start_addr, header.end_addr - header.start_addr);
74 rb->close(fh); 76 rb->close(fh);
75 if (readsize != header.end_addr - header.start_addr) 77 if (readsize <= sizeof(header))
76 { 78 {
77 rb->splash(2*HZ, true, "Error loading " OVL_DISPLAYNAME " overlay."); 79 rb->splash(2*HZ, true, "Error loading " OVL_DISPLAYNAME " overlay.");
78 return PLUGIN_ERROR; 80 return PLUGIN_ERROR;