Fix decompilation of init
This function could crash if the compiler optimized the stack--fixedpull/18/head
parent
4bd40e4ffe
commit
f238649103
|
@ -155,30 +155,29 @@ void __fastcall init_run_office(char *dir)
|
||||||
void __fastcall init_disable_screensaver(bool disable)
|
void __fastcall init_disable_screensaver(bool disable)
|
||||||
{
|
{
|
||||||
bool v1; // al
|
bool v1; // al
|
||||||
BYTE Data; // [esp+4h] [ebp-20h]
|
char Data[16]; // [esp+4h] [ebp-20h]
|
||||||
char v3; // [esp+5h] [ebp-1Fh]
|
|
||||||
DWORD Type; // [esp+14h] [ebp-10h]
|
DWORD Type; // [esp+14h] [ebp-10h]
|
||||||
DWORD cbData; // [esp+18h] [ebp-Ch]
|
DWORD cbData; // [esp+18h] [ebp-Ch]
|
||||||
HKEY phkResult; // [esp+1Ch] [ebp-8h]
|
HKEY phkResult; // [esp+1Ch] [ebp-8h]
|
||||||
bool v7; // [esp+20h] [ebp-4h]
|
bool v6; // [esp+20h] [ebp-4h]
|
||||||
|
|
||||||
v7 = disable;
|
v6 = disable;
|
||||||
if ( !RegOpenKeyExA(HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, KEY_READ|KEY_WRITE, &phkResult) )
|
if ( !RegOpenKeyExA(HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, KEY_READ|KEY_WRITE, &phkResult) )
|
||||||
{
|
{
|
||||||
if ( v7 )
|
if ( v6 )
|
||||||
{
|
{
|
||||||
cbData = 16;
|
cbData = 16;
|
||||||
if ( !RegQueryValueExA(phkResult, "ScreenSaveActive", 0, &Type, &Data, &cbData) )
|
if ( !RegQueryValueExA(phkResult, "ScreenSaveActive", 0, &Type, (LPBYTE)Data, &cbData) )
|
||||||
screensaver_enabled_prev = Data != '0';
|
screensaver_enabled_prev = Data[0] != '0';
|
||||||
v1 = 0;
|
v1 = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
v1 = screensaver_enabled_prev;
|
v1 = screensaver_enabled_prev;
|
||||||
}
|
}
|
||||||
v3 = 0;
|
Data[1] = 0;
|
||||||
Data = (v1 != 0) + '0';
|
Data[0] = (v1 != 0) + '0';
|
||||||
RegSetValueExA(phkResult, "ScreenSaveActive", 0, REG_SZ, &Data, 2u);
|
RegSetValueExA(phkResult, "ScreenSaveActive", 0, REG_SZ, (const BYTE *)Data, 2u);
|
||||||
RegCloseKey(phkResult);
|
RegCloseKey(phkResult);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue