Hi!
> +static int child_fn(void *arg)
> +{
> + struct argst *args = arg;
> +
> + execvp(args->argv[2], args->argv+2);
We don't have to pass the argv pointer packed in the struct argst now,
right? Just pass the argv pointer to the clone function in main and cast
it to (char **) here.
...
> + tst_resm(TINFO | TERRNO, "execvp");
> + return 1;
> +}
> + /* gets interface index */
> + if (ioctl(sock_fd, SIOCGIFINDEX, &ifr) == -1) {
> + close(sock_fd);
> + tst_resm(TINFO | TERRNO, "ioctl");
> + return -1;
Technically the close() may clobber the errno before it gets printed. So
ideally we should print the message, then close the sock_fd.
> + }
> +
> + close(sock_fd);
> + return ifr.ifr_ifindex;
> +}
The rest looks fine.
Acked with the minor fixed included.
--
Cyril Hrubis
[email protected]
------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list