Mercurial > public > mercurial-scm > hg
diff tests/test-parseindex.t @ 26018:c6115c30a376
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.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 13 Aug 2015 18:59:49 +0900 |
parents | 44705659da94 |
children | b68c9d232db6 |
line wrap: on
line diff
--- a/tests/test-parseindex.t Thu Aug 13 18:38:46 2015 +0900 +++ b/tests/test-parseindex.t Thu Aug 13 18:59:49 2015 +0900 @@ -73,12 +73,12 @@ > for head in [0, len(cl) - 1, -1]: > print'%s: %r' % (head, cl.reachableroots(0, [head], set([0]))) > print 'bads:' - > for head in [len(cl), 10000, -2, -10000]: + > for head in [len(cl), 10000, -2, -10000, None]: > print '%s:' % head, > try: > cl.reachableroots(0, [head], set([0])) > print 'uncaught buffer overflow?' - > except IndexError as inst: + > except (IndexError, TypeError) as inst: > print inst > EOF goods: @@ -90,6 +90,7 @@ 10000: head out of range -2: head out of range -10000: head out of range + None: an integer is required $ cd ..