lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Sat, Feb 27, 2010 at 6:01 PM, Wim Couwenberg
<wim.couwenberg@gmail.com> wrote:
>> Is it
>> similar to that fixed base address issue with Windows DLLs which bites
>> people occaisionally?
>
> What issue is that?

One example: Some random developer decides to compile their DLLs with
fixed base addresses - perhaps under the guise of a smaller resulting
file size (no relocation segment) or faster execution (callers know
exactly where routines will be). Everything works just fine for a
while, but then Microsoft (or some other 3rd party) updates one of
their DLLs which has a fixed base address (see
http://www.nynaeve.net/?p=198), and the updated DLL is slightly larger
than the old one, and thus happens to now take an extra page of
memory. Developer's DLLs now no longer work, because they had used
that new page as their fixed base address.

Combine this with ASLR, and you could get the even more fun situation
of a program refusing to start, but then working when you run it
again. Alternatively, the program could refuse to start until you
reboot (unless the second boot chose the same address space layout, at
which point you'd need to reboot twice, etc.).