apr_pollset_wakeup() is buggy when used with APR_POLLSET_NOCOPY,
because create_wakeup_pipe() passes a stack-allocated apr_pollfd_t to
apr_pollset_add(). This is unsafe if the user specified
APR_POLLSET_NOCOPY when creating the pollset.

The attached patch fixes this by adding an apr_pollfd_t for the wakeup
pipe to apr_pollset_t, so that it has a sufficiently-long-lived
lifetime.

Neil

Attachment: apr_pollset_wakeup_nocopy-1.patch
Description: Binary data

Reply via email to