I am using NSIS 2.12
The problem occurs when passing a pointer parameter
into Call. If using a debugger, you can catch the
exceptions. There are two exceptions, and debug
message is something like "Heap block at 001719F0
modified at 001719F9 past requested size of 1"
and "Invalid Address specified to RtlFreeHeap(
00150000, 001719F8 )". The code can continue running
fine.
When trace into the source code of System Plug in, I
found the problem is at ParamAllocate(). The
allocation size passed to GlobalAlloc is wrong. The
size should times 4.
I think that's one of the bug the creator of System
plug in is looking for, considering the comment he
put in ParamsDeAllocate()
Logged In: YES
user_id=584402
Nice catch. Thanks, fixed.