Dmitriy Tochansky wrote:
> 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?
I think you are right, the < 0 check is redundant. The developers probably
forgot to remove it when
http://bugs.python.org/issue9975
was fixed.
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com