From: <ph...@us...> - 2003-01-07 21:56:10
|
Update of /cvsroot/msyslog/syslog/src In directory sc8-pr-cvs1:/tmp/cvs-serv24230/syslog/src Modified Files: syslogd.c Log Message: watch_fd_input in syslog/src/syslogd.c was not properly recording file-descriptors to be polled. sock_udp in syslog/src/modules/ip_misc.c was using a key variable after freeing it. It also needed to perform a bind on the udp socket after creating it. om_refract_init in syslog/src/modules/om_refract.c had a misspilled varibale. Index: syslogd.c =================================================================== RCS file: /cvsroot/msyslog/syslog/src/syslogd.c,v retrieving revision 1.233 retrieving revision 1.234 diff -u -d -r1.233 -r1.234 --- syslogd.c 17 Sep 2002 05:20:26 -0000 1.233 +++ syslogd.c 7 Jan 2003 21:56:05 -0000 1.234 @@ -1682,21 +1682,26 @@ switch (type) { case 'p': /* pollable */ - if (poll_fd && poll_fd_cnt % 50 != 0) break; - if ( (poll_fd = (struct pollfd *) realloc(poll_fd, - (size_t) (poll_fd_cnt + 50) * sizeof(struct pollfd))) - == NULL) { - m_dprintf(MSYSLOG_CRITICAL, "realloc inputs: poll fd"); + if (poll_fd_cnt % 50 == 0) { + + if ( ( poll_fd = (struct pollfd *)realloc( + poll_fd, + (size_t)(poll_fd_cnt + 50) * sizeof(struct pollfd) + ) ) == NULL ) { + m_dprintf(MSYSLOG_CRITICAL, "realloc inputs: poll fd"); exit(-1); - } + } - if ( (poll_fd_modules = (struct i_module **) realloc(poll_fd_modules, - (size_t) (poll_fd_cnt + 50) * sizeof(struct i_module *))) - == NULL) { - m_dprintf(MSYSLOG_CRITICAL, "realloc inputs: input modules"); + if ( ( poll_fd_modules = (struct i_module **)realloc( + poll_fd_modules, + (size_t)(poll_fd_cnt + 50) * sizeof(struct i_module *) + ) ) == NULL ) { + m_dprintf(MSYSLOG_CRITICAL, "realloc inputs: input modules"); exit(-1); - } + } + + } poll_fd[poll_fd_cnt].fd = fd; poll_fd[poll_fd_cnt].events = POLLIN; @@ -1706,21 +1711,25 @@ break; case 'u': /* unpollable */ - if (unpoll_fd && unpoll_fd_cnt % 50 != 0) break; - if ( (unpoll_fd = (int *) realloc(unpoll_fd, - (size_t) (unpoll_fd_cnt + 50) * sizeof(int))) - == NULL) { + if (unpoll_fd_cnt % 50 == 0) { + + if ( ( unpoll_fd = (int *)realloc( + unpoll_fd, + (size_t)(unpoll_fd_cnt + 50) * sizeof(int) + ) ) == NULL ) { m_dprintf(MSYSLOG_CRITICAL, "realloc inputs: unpoll fd"); exit(-1); - } + } - if ( (unpoll_fd_modules = (struct i_module **) realloc(unpoll_fd_modules, - (size_t) (unpoll_fd_cnt + 50) * sizeof(struct i_module *))) - == NULL) { - m_dprintf(MSYSLOG_CRITICAL, "realloc inputs: input modules"); + if ( ( unpoll_fd_modules = (struct i_module **)realloc( + unpoll_fd_modules, + (size_t)(unpoll_fd_cnt + 50) * sizeof(struct i_module *) + ) ) == NULL ) { + m_dprintf(MSYSLOG_CRITICAL, "realloc inputs: input modules"); exit(-1); - } + } + } unpoll_fd[unpoll_fd_cnt] = fd; unpoll_fd_modules[unpoll_fd_cnt] = im; |