Thread overview
[Issue 16469] Segmentation fault in bigAlloc with negative size
Sep 05, 2016
Cédric Picard
Sep 06, 2016
Lodovico Giaretta
Sep 06, 2016
Cédric Picard
Sep 06, 2016
Lodovico Giaretta
September 05, 2016
https://issues.dlang.org/show_bug.cgi?id=16469

Cédric Picard <cpicard@openmailbox.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|dmd                         |druntime

--
September 06, 2016
https://issues.dlang.org/show_bug.cgi?id=16469

Lodovico Giaretta <lodovico@giaretart.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |lodovico@giaretart.net
         Resolution|---                         |DUPLICATE

--- Comment #1 from Lodovico Giaretta <lodovico@giaretart.net> ---


*** This issue has been marked as a duplicate of issue 16470 ***

--
September 06, 2016
https://issues.dlang.org/show_bug.cgi?id=16469

--- Comment #2 from Cédric Picard <cpicard@openmailbox.org> ---
Is it a duplicate? Judging only from gdb backtrace those are different issues. I haven't checked in druntime though.

--
September 06, 2016
https://issues.dlang.org/show_bug.cgi?id=16469

--- Comment #3 from Lodovico Giaretta <lodovico@giaretart.net> ---
(In reply to Cédric Picard from comment #2)
> Is it a duplicate? Judging only from gdb backtrace those are different issues. I haven't checked in druntime though.

As in the other issue, the problem is that a negative constant becomes a huge size_t value, which should trigger an OutOfMemoryError, but segfaults instead. So IMHO it's the same issue. It may well be that the druntime presents the wrong code in two different places, but it is probably two copies of the same logic, as enlarging (not in place) and allocating perform the same checks and the same steps.

But of course anybody is free to reopen this if it's deemed necessary.

--