[Python-Dev] Checking if unsigned int less then zero. (original) (raw)

Charles-François Natali cf.natali at gmail.com
Sat Jun 23 10:28:12 CEST 2012


Playing with cpython source, I found some strange strings in socketmodule.c:

--- if (flowinfo < 0 || flowinfo > 0xfffff) { PyErrSetString( PyExcOverflowError, "getsockaddrarg: flowinfo must be 0-1048575."); return 0; } --- --- if (flowinfo < 0 || flowinfo > 0xfffff) { PyErrSetString(PyExcOverflowError, "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?

Removed.

Thanks,

cf



More information about the Python-Dev mailing list