Fix a few int/size_t conversion issues
authorIustin Pop <iustin@k1024.org>
Thu, 30 Apr 2015 23:02:59 +0000 (01:02 +0200)
committerIustin Pop <iustin@k1024.org>
Fri, 1 May 2015 02:42:35 +0000 (04:42 +0200)
commit936548306d1faefd3b61987ad6486e18b448fe24
tree5482886f8cffc7d323fc595ec7c38703d60fc251
parent0e438e0ec8f5c3bfbc5d2a9fbd97a6fea973d36b
Fix a few int/size_t conversion issues

From https://bugzilla.redhat.com/show_bug.cgi?id=1127310: the
'#'-variats of parsing (s#, et#, etc.) take a size_t if
PY_SSIZE_T_CLEAN is defined (which the code does). On some
architectures (little-endian only?) this doesn't seem to be a problem,
but on PPC this is a failure in unit tests (at least yay).

The patch changes the type of bufsize to Py_ssize_t, and does an
explicit cast to size_t with underflow check in order to make the code
safer (assuming this is the right thing to do). This should result in
no unexpected conversion issues.
xattr.c