[Python-Dev] Checking if unsigned int less then zero.

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) {
>              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?

Removed.

Thanks,

cf


More information about the Python-Dev mailing list