This is an oddball API choice (and there is a bug in the implementation),
in that option_value* is being used as both and input and an output
parameter.

The size you pass in must be be *at least* sizeof(fd_t) bytes, because it
will overwrite the supplied identity string with the resulting file
descriptor. The bug is, it does not check to see that the size of supplied
output is sufficient to hold sizeof(fd_t), so bad things (stack/heap
corruption) would happen if you actually passed option_len = 2.

On Thu, Jan 8, 2015 at 7:26 AM, Peter Kleiweg <pklei...@xs4all.nl> wrote:

>
> Suppose the identity string is only two bytes long, I pad with
> zeros to get a string of eight bytes. What should the value of
> option_len be, 2 or 8?
>
>
> --
> Peter Kleiweg
> http://pkleiweg.home.xs4all.nl/
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to