Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
When index = tail, it will crash on 64-bit systems: REBCNT out = 0 here: for (out--; out >= start; out--) { //out = 0xFFFFFFFF (or -1 as a signed integer) uc = GET_ANY_CHAR(ser, out); //expands to ser->data[out], which is the same as *(ser->data + out). On 32-bit system, ser->data is 32-bit, so it's equivalent to *(ser->data - 1), which is a valid address, but wrong content; while on 64-bit system, ser->data is 64-bit, so "out" has to be promoted to 64-bit integer, which results in *(ser->data + 0xFFFFFFFF), which is not a valid memory location. ... }
- Loading branch information
85d5cc3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not see the correspondence between the above description and the file contents.
85d5cc3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmmm, this commit was made before Carl process those pull request last month. The code referenced in the comment was removed by db1f091.
I will check if this commit is still needed.