]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Don't freak out if the poll emulation receives NULL for the pollfds array
authorRussell Bryant <russell@russellbryant.com>
Wed, 3 Sep 2008 13:24:35 +0000 (13:24 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 3 Sep 2008 13:24:35 +0000 (13:24 +0000)
(closes issue #13307)
Reported by: jcovert

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@140816 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/poll.c

index bd283866d40da4b644fc8a624eefc8763b5ef4e1..c053ba01504af07b4716f9c381f7cdd1542b0ead 100644 (file)
@@ -273,19 +273,19 @@ int poll
     fd_set  except_descs;                        /* exception descs */
     struct  timeval stime;                       /* select() timeout value */
     int            ready_descriptors;                   /* function result */
-    int            max_fd;                              /* maximum fd value */
+    int            max_fd = 0;                          /* maximum fd value */
     struct  timeval *pTimeout;                   /* actually passed */
 
     FD_ZERO (&read_descs);
     FD_ZERO (&write_descs);
     FD_ZERO (&except_descs);
 
-    assert (pArray != (struct pollfd *) NULL);
-
     /* Map the poll() file descriptor list in the select() data structures. */
 
-    max_fd = map_poll_spec (pArray, n_fds,
-                           &read_descs, &write_descs, &except_descs);
+       if (pArray) {
+       max_fd = map_poll_spec (pArray, n_fds,
+                               &read_descs, &write_descs, &except_descs);
+       }
 
     /* Map the poll() timeout value in the select() timeout structure. */