libndp: fix buffer overflow in ndp_msg_opt_dnssl_domain()

The buf array would overflow when processing a malformed DNSSL option
containing a domain name whose labels' combined length exceeded 255 bytes.

To facilitate the bounds checking, the code has been restructured slightly
to be simpler and avoid repeated calls to strlen and strcat.

Signed-off-by: Andrew Ayer <agwa@andrewayer.name>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
1.4 release

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Imported Upstream version 1.4