Use SizeOfRawData and not VirtualSize when looking for the export section in a on-disk plugin dll

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6569 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2014-11-14 22:00:46 +00:00
parent 9c2604e44d
commit 6ea16bd7fa

View file

@ -173,7 +173,7 @@ void Plugins::GetExports(const tstring &pathToDll, bool displayInfo)
{
DWORD va = FIX_ENDIAN_INT32(sections[i].VirtualAddress);
if (va <= ExportDirVA
&& va + FIX_ENDIAN_INT32(sections[i].Misc.VirtualSize) >= ExportDirVA + ExportDirSize)
&& va + FIX_ENDIAN_INT32(sections[i].SizeOfRawData) >= ExportDirVA + ExportDirSize)
{
DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);
PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);