But I cannot find a bug in glibc for it. There is no checking done in FDSET or related macros:
#define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
(/usr/include/bigs/select.h)
Though, what the behavior should be is unclear. Perhaps silently ignoring d>1024? Programs needing to use >1024 fds, with an RLIMIT_NOFILE > 1024 need to use poll, but this really seems like a bug in glibc and the select() man page.
There have been reports about this kind of thing before:
http:// cve.mitre. org/cgi- bin/cvename. cgi?name= CVE-2002- 1500 marc.info/ ?l=bugtraq& m=1106608793289 01
http://
But I cannot find a bug in glibc for it. There is no checking done in FDSET or related macros: bigs/select. h)
#define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
(/usr/include/
Though, what the behavior should be is unclear. Perhaps silently ignoring d>1024? Programs needing to use >1024 fds, with an RLIMIT_NOFILE > 1024 need to use poll, but this really seems like a bug in glibc and the select() man page.