1
0
Fork 0
forked from len0rd/rockbox

ZenUtils: fix offset detection

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19825 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Maurus Cuelenaere 2009-01-23 17:44:34 +00:00
parent 44554e6075
commit 42f2dd8961

View file

@ -53,10 +53,11 @@ dword zen::find_firmware_offset(byte* buffer, size_t len)
for (dword i = 0; i < static_cast<dword>(len); i += 4) for (dword i = 0; i < static_cast<dword>(len); i += 4)
{ {
dword size = *(dword*)&buffer[i]; dword size = *(dword*)&buffer[i];
if (buffer[i + sizeof(dword)] != 0 if (size != 0
&& buffer[i + sizeof(dword) + 1] != 0 && buffer[i + 4] != 0
&& buffer[i + sizeof(dword) + 2] != 0 && buffer[i + 4 + 1] != 0
&& buffer[i + sizeof(dword) + 3] != 0) && buffer[i + 4 + 2] != 0
&& buffer[i + 4 + 3] != 0)
{ {
return i; return i;
} }