~ubuntu-branches/ubuntu/precise/clamav/precise-updates

« back to all changes in this revision

Viewing changes to libclamav/upack.c

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2015-01-30 09:01:52 UTC
  • mfrom: (118.1.5 precise-security)
  • Revision ID: package-import@ubuntu.com-20150130090152-es6oz6eg0wsa4r40
Tags: 0.98.6+dfsg-0ubuntu0.12.04.1
* Updated to 0.98.6 to fix security issues, including CVE-2014-9328.
* Removed upstreamed patches:
  - d/p/0002-Add-an-additional-n-after-the-number-in-the-pidfile.patch
  - d/p/0017-Bump-.so-version-number.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
213
213
                        loc_edi = dest+vma-base; /* XXX not enough samples provided to be sure of it! */
214
214
 
215
215
                pushed_esi = loc_edi;
216
 
                end_edi = dest + cli_readint32(loc_esi + 0x34) - vma;
217
216
                if (upack_version == UPACK_0297729)
218
217
                {
219
218
                        end_edi = dest + cli_readint32(loc_esi + 0x64) - vma;
220
219
                        save3 = cli_readint32(loc_esi + 0x40);
221
 
                }
 
220
                } else {
 
221
                        end_edi = dest + cli_readint32(loc_esi + 0x34) - vma;
 
222
                }
 
223
                if (loc_edi > end_edi) {
 
224
                        cli_dbgmsg("Upack: loc_edi > end_edi breaks cli_rebuildpe() bb#11216\n");
 
225
                        return -1;
 
226
                }
222
227
                /* begin end */
223
228
                cli_dbgmsg("Upack: data initialized, before upack lzma call!\n");
224
229
                if ((ret = (uint32_t)unupack399(dest, dsize, 0, loc_ebx, 0, loc_edi, end_edi, shlsize, paddr)) == 0xffffffff)
376
381
                        end_edi = dest + cli_readint32(loc_esi-0x28) - base; /* read checked above */
377
382
                        loc_esi = save_edi;
378
383
                }
 
384
                if (loc_edi > end_edi) {
 
385
                        cli_dbgmsg("Upack(alt begin): loc_edi > end_edi breaks cli_rebuildpe() bb#11216\n");
 
386
                        return -1;
 
387
                }
379
388
                cli_dbgmsg("Upack: data initialized, before upack lzma call!\n");
380
389
                if ((ret = (uint32_t)unupack399(dest, dsize, loc_ecx, loc_ebx, loc_ecx, loc_edi, end_edi, shlsize, paddr)) == 0xffffffff)
381
390
                        return -1;