[D-runtime] [D-Programming-Language/druntime] 272e87: Fix range violaions in Posix exception handling co...

noreply at github.com noreply at github.com
Fri Nov 18 15:56:04 PST 2011


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/druntime

  Commit: 272e878401297779738a1a0d7eec7308a10f0bdc
      https://github.com/D-Programming-Language/druntime/commit/272e878401297779738a1a0d7eec7308a10f0bdc
  Author: David Nadlinger <code at klickverbot.at>
  Date:   2011-11-18 (Fri, 18 Nov 2011)

  Changed paths:
    M src/rt/deh2.d

  Log Message:
  -----------
  Fix range violaions in Posix exception handling code.

The code would previously lead to a range violation (and thus an infinite loop because an exception was thrown during exception handling) when druntime was built without bounds checking disabled.

At first sight it seems like the old code could work, but what really happens is that it first index into the (dummy) length 1 static array, and then takes the address, not the other way round.

phi and pcb are intended to be pointers to DHandlerInfo/DCatchBlock, this is also what the original C code did.


  Commit: 0b9c4c651ffb07e257f52d844a698a287cf65d15
      https://github.com/D-Programming-Language/druntime/commit/0b9c4c651ffb07e257f52d844a698a287cf65d15
  Author: Sean Kelly <sean at invisibleduck.org>
  Date:   2011-11-18 (Fri, 18 Nov 2011)

  Changed paths:
    M src/rt/deh2.d

  Log Message:
  -----------
  Merge pull request #85 from klickverbot/eh-range-violation

Fix range violaions in Posix exception handling code.


Compare: https://github.com/D-Programming-Language/druntime/compare/40903b2...0b9c4c6


More information about the D-runtime mailing list