[ros-dev] [NTDLL/LDR] - Fix a few bugs (wrong variable usage, wrong variable initialization) which led to incorrect snapping of import address table.

Minas Abrahamyan minas.subs at gmail.com
Wed Mar 30 20:27:03 UTC 2011


Hi Alexey,

> I have a rewrite of all these functions, which would fix this issue,

So one may hope that this problem will be eventually solved? Sounds great! :)

Then if bug 6031 (
http://www.reactos.org/bugzilla/show_bug.cgi?id=6031 ) would be
solved, I will try,
then together this will eliminate very the root of the strange evil bug! :)


Best Regards,
-M.A.


On Wed, Mar 30, 2011 at 1:29 AM, Aleksey Bragin <aleksey at reactos.org> wrote:
> Hi Minas,
> thanks for watching these commits!
>
> I have a rewrite of all these functions, which would fix this issue, however
> I can't commit it before I fix other code first.
>
> WBR,
> Aleksey Bragin.
>
> On Mar 29, 2011, at 5:26 PM, Minas Abrahamyan wrote:
>
>> Hi Alexey,
>>
>> Since you are still working on these LdrXXX functions then you maybe
>> find possibility
>> to add there some code to prevent them trapping into infinite cycle (bug
>> 5881:
>> http://www.reactos.org/bugzilla/show_bug.cgi?id=5881  )
>>
>> While booted up with RAM 25 or 24 MB ROS kernel falls into infinite
>> cycle there,
>> but being booted up with 15 Mbs ROS stalls and and hangs up.
>>
>> To test it is enough to run it on any VM with 24Mb of RAM.
>>
>> What occurs there is infinite recursive calls, in form of
>> LdrpLoadModule ->calls LdrFixupImports -> LdrpGetOrLoadModule ->
>> LdrpLoadModule and so forth.
>> (detailed bt is in bug 5881 description).
>> Maybe ROS kernel doesn't check memory availability, something like
>> XXXMalloc returning NULL or so.
>>
>> Thanks!
>> -M.A.
>>
>> On Wed, Mar 23, 2011 at 4:25 PM,  <fireball at svn.reactos.org> wrote:
>>>
>>> Author: fireball
>>> Date: Wed Mar 23 12:25:53 2011
>>> New Revision: 51123
>>>
>>> URL: http://svn.reactos.org/svn/reactos?rev=51123&view=rev
>>> Log:
>>> [NTDLL/LDR]
>>> - Fix a few bugs (wrong variable usage, wrong variable initialization)
>>> which led to incorrect snapping of import address table.
>>> - Wrap LdrpSnapThunk() invocations into SEH.
>>>
>>> Modified:
>>>   trunk/reactos/dll/ntdll/ldr/ldrpe.c
>>>
>>> Modified: trunk/reactos/dll/ntdll/ldr/ldrpe.c
>>> URL:
>>> http://svn.reactos.org/svn/reactos/trunk/reactos/dll/ntdll/ldr/ldrpe.c?rev=51123&r1=51122&r2=51123&view=diff
>>
>> _______________________________________________
>> Ros-dev mailing list
>> Ros-dev at reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev
>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>



More information about the Ros-dev mailing list