msg_controllen must be set before entering the CMSG macros

it is far from obvious but on send the CMSG macros leverage
the value of msg_controllen, and then you iterate on top of
that, and when you are done, you set msg_controllen to the
derived value.