On Wednesday, 9 January 2013 at 21:13:35 UTC, H. S. Teoh wrote:
Dereferencing null is also moot, because you'll just get an exception or a segfault, which is no help for a potential expoit.

BTW, not necessarily... this is a fairly unlikely situation, granted, but imagine:

struct Thing {
    ubyte[1024*1024] buffer;
    int a;
}

Thing* t = null;
t.a = 10;


That'd turn into something like

mov eax, 0 ; the pointer value itself
mov dword ptr [eax + 1024*1024], 10 ; add the offset of the field before doing the read/write...


which quite possibly does overwrite something exploitable.

Reply via email to