On Sun, Nov 11, 2018 at 09:48:09AM +1000, David Gwynne wrote:
> this good idea was suggested by kn@ and deraadt@
>
> ok?
OK bluhm@
I think the cast to socklen_t in (socklen_t)sizeof(optval) is not
good. We should just let the compiler make its job.
bluhm
> Index: ping.c
> ===================================================================
> RCS file: /cvs/src/sbin/ping/ping.c,v
> retrieving revision 1.232
> diff -u -p -r1.232 ping.c
> --- ping.c 10 Nov 2018 23:44:53 -0000 1.232
> +++ ping.c 10 Nov 2018 23:47:05 -0000
> @@ -678,23 +678,23 @@ main(int argc, char *argv[])
> optval = tos;
> if (setsockopt(s, IPPROTO_IPV6, IPV6_TCLASS, &optval,
> (socklen_t)sizeof(optval)) < 0)
> - warn("setsockopt(IPV6_TVAL)"); /* XXX err? */
> + err(1, "setsockopt(IPV6_TCLASS)");
> }
>
> if (df) {
> optval = 1;
> if (setsockopt(s, IPPROTO_IPV6, IPV6_DONTFRAG,
> &optval, (socklen_t)sizeof(optval)) < 0)
> - warn("setsockopt(IPV6_DONTFRAG"); /* err? */
> + err(1, "setsockopt(IPV6_DONTFRAG)");
> }
>
> optval = 1;
> if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVPKTINFO, &optval,
> (socklen_t)sizeof(optval)) < 0)
> - warn("setsockopt(IPV6_RECVPKTINFO)"); /* XXX err? */
> + err(1, "setsockopt(IPV6_RECVPKTINFO)");
> if (setsockopt(s, IPPROTO_IPV6, IPV6_RECVHOPLIMIT, &optval,
> (socklen_t)sizeof(optval)) < 0)
> - warn("setsockopt(IPV6_RECVHOPLIMIT)"); /* XXX err? */
> + err(1, "setsockopt(IPV6_RECVHOPLIMIT)");
> } else {
> u_char loop = 0;
>