I checked the behavior again: I have a Lua51 runtime without APICHECK (the
one from LuaBinaries), where doing iup.Refresh() indeed shows a popup about
the missing parameter. With my Lua52 runtime where APICHECK is enabled, the
program aborts because of an API error. So maybe this is specific to the
iup*52 DLLs?
2014-02-18 22:40 GMT+01:00 Benoit Germain <[email protected]>:
> Ah ok my bad. I'll check again, but AFAIR, I didn't get a Lua error with a
> runtime built without APICHECK. In that case, this means that malicious
> code intentionally forgetting the ihandle parameter corrupts the C stack by
> potentially overflowing the Lua stack.
>
>
> 2014-02-18 19:21 GMT+01:00 Antonio Scuri <[email protected]>:
>
>> Hi Benoit,
>>
>>
>>
>> The iup.Refresh implementation in Lua is actually quite simple:
>>
>>
>>
>> static int Refresh *(*lua_State ***L*)*
>>
>> *{*
>>
>> IupRefresh*(*iuplua_checkihandle*(*L*,*1*));*
>>
>> return 0*;*
>>
>> *}*
>>
>>
>>
>> If iuplua_checkihandle is not triggering the same problem in other
>> functions, I don't know where the problem is.
>>
>>
>>
>> But notice that you Lua code is actually ignoring the Ihandle parameter:
>>
>>
>>
>> iup.Refresh()
>>
>>
>>
>> Then in a regular Lua run will trigger a Lua error.
>>
>>
>>
>> Your call should be
>>
>>
>>
>> iup.Refresh(self)
>>
>>
>>
>> for instance.
>>
>>
>>
>> Best,
>>
>> Scuri
>>
>>
>>
>>
>>
>>
>>
>> *From:* Benoit Germain [mailto:[email protected]]
>> *Sent:* quinta-feira, 30 de janeiro de 2014 11:52
>> *To:* IUP discussion list
>> *Subject:* [Iup-users] [IUP 3.10.1, Windows 7 64] iup.Refresh() causes a
>> Lua APICHECK assertion
>>
>>
>>
>> Hello,
>>
>> With the attached script run with a Lua runtime I built with APICHECK
>> enabled, I get an assertion coming from iuplua52.dll when calling
>> iup.Refresh(). There must be a missing lua_checkstack() somewhere :-).
>>
>> Regards,
>>
>>
>> --
>> Benoit.
>>
>>
>> ------------------------------------------------------------------------------
>> Managing the Performance of Cloud-Based Applications
>> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
>> Read the Whitepaper.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Iup-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/iup-users
>>
>>
>
>
> --
> Benoit.
>
--
Benoit.
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users