[zeromq-dev] memory leak in zmq_poll()?

Martin Sustrik sustrik at 250bpm.com
Fri Jan 8 14:15:16 CET 2010


Hi Kamil,

Yes. You are right. Are you happy to submit the patch under MIT license?

Thanks.
Martin

> When returning from zmq_poll() with timeout the allocated pollset
> doesn't get freed. Checked with valgrind.
> 
> 
> diff --git a/src/zmq.cpp b/src/zmq.cpp
> index 62ee562..92ddef1 100644
> --- a/src/zmq.cpp
> +++ b/src/zmq.cpp
> @@ -338,8 +338,10 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_,
> long tim
>          errno_assert (rc >= 0);
>  
>          //  If timeout was hit with no events signaled, return zero.
> -        if (!initial && rc == 0)
> +        if (!initial && rc == 0) {
> +            free (pollfds);
>              return 0;
> +       }
>  
>          //  From now on, perform blocking polling.
>          initial = false;
> 
> 




More information about the zeromq-dev mailing list