[Python-Dev] Checking if unsigned int less then zero.
Dmitriy Tochansky
tochansky at tochlab.net
Fri Jun 22 10:09:54 CEST 2012
Hello!
Playing with cpython source, I found some strange strings in
socketmodule.c:
---
if (flowinfo < 0 || flowinfo > 0xfffff) {
PyErr_SetString(
PyExc_OverflowError,
"getsockaddrarg: flowinfo must be 0-1048575.");
return 0;
}
---
---
if (flowinfo < 0 || flowinfo > 0xfffff) {
PyErr_SetString(PyExc_OverflowError,
"getsockaddrarg: flowinfo must be 0-1048575.");
return NULL;
}
---
The flowinfo variable declared few strings above as unsgined int. Is
there any practical sense in this check? Seems like gcc just removes
this check. I think any compiler will generate code that checks as
unsigned, for example in x86 its JAE/JGE. May be this code is for "bad"
compilers or exotic arch?
--
Dmitriy
More information about the Python-Dev
mailing list