LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

fd больше 1024 им тоже можно следить

Нет, нельзя. Там битовое поле в 1024 бита (128 байт) размером. Если ты попытаешься выставить там fd больше 1024, то выйдешь за границы структуры и насрёшь в соседние структуры в памяти.

https://github.com/bminor/glibc/blob/master/misc/sys/select.h#L59

https://github.com/bminor/glibc/blob/master/bits/select.h#L32

Типичный сишник, не может мануал прочитать и срёт в память прямо на ровном месте.

Исправление hateyoufeel, :

fd больше 1024 им тоже можно следить

Нет, нельзя. Там битовое поле в 1024 бита (128 байт) размером. Если ты попытаешься выставить там fd больше 1024, то выйдешь за границы структуры и насрёшь в соседние структуры в памяти.

https://github.com/bminor/glibc/blob/master/misc/sys/select.h#L59

Типичный сишник, не может мануал прочитать и срёт в память прямо на ровном месте.

Исходная версия hateyoufeel, :

fd больше 1024 им тоже можно следить. В контексте проги автора ни один из недостатков селекта не проявляется.

Нет, нельзя. Там битовое поле в 1024 бита (128 байт) размером. Если ты попытаешься выставить там fd больше 1024, то выйдешь за границы структуры и насрёшь в соседние структуры в памяти.

https://github.com/bminor/glibc/blob/master/misc/sys/select.h#L59

Типичный сишник, не может мануал прочитать и срёт в память прямо на ровном месте.