From 7d12ad0f36bbd08ea272bbdc7d074959fa6c126b Mon Sep 17 00:00:00 2001 From: hniksic Date: Fri, 7 Nov 2003 15:45:03 -0800 Subject: [PATCH] [svn] Explicitly check that fd>=0 in register_extended. --- src/ChangeLog | 4 ++++ src/connect.c | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 9ee108ba..c32550ec 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2003-11-08 Hrvoje Niksic + + * connect.c (register_extended): Check that fd >= 0. + 2003-11-07 Hrvoje Niksic * connect.c (LAZY_RETRIEVE_INFO): Set LAST_INFO. diff --git a/src/connect.c b/src/connect.c index c835fa92..a88e2595 100644 --- a/src/connect.c +++ b/src/connect.c @@ -628,7 +628,14 @@ void register_extended (int fd, xreader_t reader, xwriter_t writer, xpoller_t poller, xcloser_t closer, void *ctx) { - struct extended_info *info = xnew (struct extended_info); + struct extended_info *info; + + /* The file descriptor must be non-negative to be registered. + Negative values are ignored by xclose(), and -1 cannot be used as + hash key. */ + assert (fd >= 0); + + info = xnew (struct extended_info); info->reader = reader; info->writer = writer; info->poller = poller;