in reply to [maybe OT] What kind of bug was that? Non-deterministic result with C integer overflow?
It is an array bounds error. Take a look at PDL-2.016/Changes:
* Bugs fixed:
...
414 ccNcompt (i.e. cc4compt and cc8compt) breaks with byte data type
Which refers to this bug.
The algorithm allocates an equiv[] array to store label equivalence lists. When your running label wraps (a short int), it becomes a (small) negative value. This in turn is used as an index to chase the equiv[] list. In other words, you are accessing memory before the allocated object. Perhaps it would hang or fault if heap poisoning were applied.
Count of 28299 is smaller than maximum short value after label equivalences are removed.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: [maybe OT] What kind of bug was that? Non-deterministic result with C integer overflow?
by vr (Curate) on Dec 18, 2017 at 16:46 UTC | |
|
Re^2: [maybe OT] What kind of bug was that? Non-deterministic result with C integer overflow?
by Anonymous Monk on Dec 18, 2017 at 16:23 UTC |