diff --git a/Contrib/ExDLL/exdll.dpr b/Contrib/ExDLL/exdll.dpr index 2e92ac57..66d72f04 100644 --- a/Contrib/ExDLL/exdll.dpr +++ b/Contrib/ExDLL/exdll.dpr @@ -98,11 +98,10 @@ end; procedure SetUserVariable(varnum: TVariableList; value: PChar); begin - if (value = nil) or (integer(varnum) < 0) or (integer(varnum) >= integer(__INST_LAST)) then + if (value <> nil) and (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then begin - Exit; + lstrcpy(g_variables+integer(varnum)*g_stringsize,value); end; - lstrcpy(g_variables+integer(varnum)*g_stringsize,value); end; function ex_dll(hwndParent: HWND; string_size: integer; variables: PChar; stacktop: pointer):integer; cdecl; diff --git a/Contrib/ExDLL/nsis.pas b/Contrib/ExDLL/nsis.pas index e0fd1a23..b97fcc18 100644 --- a/Contrib/ExDLL/nsis.pas +++ b/Contrib/ExDLL/nsis.pas @@ -119,11 +119,10 @@ end; procedure SetUserVariable(varnum: TVariableList; value: PChar); begin - if (value = nil) or (integer(varnum) < 0) or (integer(varnum) >= integer(__INST_LAST)) then + if (value <> nil) and (integer(varnum) >= 0) and (integer(varnum) < integer(__INST_LAST)) then begin - Exit; + lstrcpy(g_variables+integer(varnum)*g_stringsize,value); end; - lstrcpy(g_variables+integer(varnum)*g_stringsize,value); end; begin