summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Richter <frank.richter@gmail.com>2017-01-08 15:36:34 +0100
committerFrank Richter <frank.richter@gmail.com>2017-01-08 15:36:34 +0100
commit1a108713ac26215c7568353f6e02e727e6d4b24a (patch)
tree790f9cb246431e10be6a4e344f9b69545c5dd87d
parentb07f926d55b996283aaf30ff083a8333f8caaa96 (diff)
downloadicoutils-1a108713ac26215c7568353f6e02e727e6d4b24a.tar.gz
wrestool: Fix an index, additional check
-rw-r--r--wrestool/extract.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/wrestool/extract.c b/wrestool/extract.c
index 8192a1f..a0c516c 100644
--- a/wrestool/extract.c
+++ b/wrestool/extract.c
@@ -237,11 +237,11 @@ extract_group_icon_cursor_resource(WinLibrary *fi, WinResource *wr, char *lang,
fileicondir->entries[c-skipped].dib_offset = offset;
/* transfer resource into file memory */
- if (size > icondir->entries[c].bytes_in_res)
- size = icondir->entries[c].bytes_in_res;
+ if (size > icondir->entries[c-skipped].bytes_in_res)
+ size = icondir->entries[c-skipped].bytes_in_res;
if (is_icon) {
memcpy(&memory[offset], data, size);
- } else {
+ } else if (size >= sizeof(uint16_t)*2) {
fileicondir->entries[c-skipped].hotspot_x = ((uint16_t *) data)[0];
fileicondir->entries[c-skipped].hotspot_y = ((uint16_t *) data)[1];
memcpy(&memory[offset], data+sizeof(uint16_t)*2,