git.samba.org
/
samba.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix denial of service - memory corruption.
[samba.git]
/
source3
/
lib
/
events.c
diff --git
a/source3/lib/events.c
b/source3/lib/events.c
index 90d86c6c79feac40d34e38ee94259d0ef7b52360..3c83f81a710441731dd3b1840eade20f84b6f6d2 100644
(file)
--- a/
source3/lib/events.c
+++ b/
source3/lib/events.c
@@
-55,6
+55,14
@@
bool event_add_to_select_args(struct tevent_context *ev,
bool ret = false;
for (fde = ev->fd_events; fde; fde = fde->next) {
bool ret = false;
for (fde = ev->fd_events; fde; fde = fde->next) {
+ if (fde->fd < 0 || fde->fd >= FD_SETSIZE) {
+ /* We ignore here, as it shouldn't be
+ possible to add an invalid fde->fd
+ but we don't want FD_SET to see an
+ invalid fd. */
+ continue;
+ }
+
if (fde->flags & EVENT_FD_READ) {
FD_SET(fde->fd, read_fds);
ret = true;
if (fde->flags & EVENT_FD_READ) {
FD_SET(fde->fd, read_fds);
ret = true;