[svn] - fix dereference problems with not widely used polling engines
This commit is contained in:
parent
b076458c6f
commit
efb1d08613
4 changed files with 18 additions and 4 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
nenolod 2007/07/06 07:56:14 UTC (20070706-3526)
|
||||||
|
Log:
|
||||||
|
- forgot to do something
|
||||||
|
|
||||||
|
|
||||||
|
Changes: Modified:
|
||||||
|
+3 -0 trunk/extensions/ip_cloaking.c (File Modified)
|
||||||
|
|
||||||
|
|
||||||
nenolod 2007/07/06 07:54:54 UTC (20070706-3524)
|
nenolod 2007/07/06 07:54:54 UTC (20070706-3524)
|
||||||
Log:
|
Log:
|
||||||
- fix a possible problem with ipv6
|
- fix a possible problem with ipv6
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
#define SERNO "20070706-3524"
|
#define SERNO "20070706-3526"
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: poll.c 3354 2007-04-03 09:21:31Z nenolod $
|
* $Id: poll.c 3528 2007-07-07 08:08:23Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -128,6 +128,9 @@ poll_update_pollfds(int fd, short event, PF * handler)
|
||||||
|
|
||||||
resize_poll_array(fd);
|
resize_poll_array(fd);
|
||||||
|
|
||||||
|
if (F == NULL)
|
||||||
|
F = comm_add_fd(fd);
|
||||||
|
|
||||||
if(F->comm_index < 0)
|
if(F->comm_index < 0)
|
||||||
F->comm_index = poll_findslot();
|
F->comm_index = poll_findslot();
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* USA
|
||||||
*
|
*
|
||||||
* $Id: select.c 3354 2007-04-03 09:21:31Z nenolod $
|
* $Id: select.c 3528 2007-07-07 08:08:23Z nenolod $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -104,7 +104,9 @@ comm_setselect(int fd, fdlist_t list, unsigned int type, PF * handler,
|
||||||
{
|
{
|
||||||
fde_t *F = comm_locate_fd(fd);
|
fde_t *F = comm_locate_fd(fd);
|
||||||
s_assert(fd >= 0);
|
s_assert(fd >= 0);
|
||||||
s_assert(F->flags.open);
|
|
||||||
|
if (!F)
|
||||||
|
F = comm_add_fd(fd);
|
||||||
|
|
||||||
if(type & COMM_SELECT_READ)
|
if(type & COMM_SELECT_READ)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue