revpair: update test to make a difference if odd range not handled specially
It was added at
2a0efa1112ac, but there was no difference between -r2 and -r2:2
because the working directory was clean.
reachableroots: verify type of each item of heads argument
Though PyInt_AS_LONG() can return a value no matter if it isn't an int object,
it could exceed the boundary of the underlying struct. I think C API should be
defensive to such errors.
reachableroots: verify integer range of heads argument (
issue4775)
Now it raises IndexError instead of SEGV for 'wdir()' as it was before.
reachableroots: unify bail cases to raise exception correctly
Before this patch, release_seen_and_tovisit did not return NULL, so the
exception was not raised immediately. As Py_XDECREF() and free() are safe
for NULL, we can simply bail in any case.