diff options
| author | Frank Richter <frank.richter@gmail.com> | 2017-01-08 15:36:34 +0100 |
|---|---|---|
| committer | Frank Richter <frank.richter@gmail.com> | 2017-01-08 15:36:34 +0100 |
| commit | 1a108713ac26215c7568353f6e02e727e6d4b24a (patch) | |
| tree | 790f9cb246431e10be6a4e344f9b69545c5dd87d | |
| parent | b07f926d55b996283aaf30ff083a8333f8caaa96 (diff) | |
| download | icoutils-1a108713ac26215c7568353f6e02e727e6d4b24a.tar.gz | |
wrestool: Fix an index, additional check
| -rw-r--r-- | wrestool/extract.c | 6 |
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, |
