miscellaneous array questions...

IGotD- nise at nise.com
Tue Jul 21 13:44:17 UTC 2020


On Tuesday, 21 July 2020 at 13:23:32 UTC, Adam D. Ruppe wrote:
>
> But the array isn't initialized in the justification scenario. 
> It is accessed through a null pointer and the type system 
> thinks it is fine because it is still inside the static limit.
>
> At run time, the cpu just sees access to memory address 0 + x, 
> and if x is sufficient large, it can bypass those guard pages.

I'm not that convinced. This totally depends on how the virtual 
memory for the process looks like. Some operating systems might 
have a gap between 0 - 16MB but some others don't. This is also a 
subject that can change between versions of the OS and even more 
uncertain as address space randomization becomes popular. Safety 
based on assumptions aren't really worth it.

I don't personally care about the 16MB limit as I would never use 
it for any foreseeable future but the motivation for it is kind 
of vague.


More information about the Digitalmars-d-learn mailing list