X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fsocket.c;h=37dcbbfd8c6638e250a04c20c54c759a3cf960f7;hb=ab7b8d93cf1098970bc17fb4937376bb1ff33a21;hp=7ade440c51c9c0ffd326ff23e484f018ba9bfcce;hpb=8a19f12a0cfe6d611f6e266931af691fb69a74ad;p=vpp.git diff --git a/src/vppinfra/socket.c b/src/vppinfra/socket.c index 7ade440c51c..37dcbbfd8c6 100644 --- a/src/vppinfra/socket.c +++ b/src/vppinfra/socket.c @@ -359,9 +359,21 @@ clib_socket_init (clib_socket_t * s) && s->flags & SOCKET_ALLOW_GROUP_WRITE) { struct stat st = { 0 }; - stat (((struct sockaddr_un *) &addr)->sun_path, &st); + if (stat (((struct sockaddr_un *) &addr)->sun_path, &st) < 0) + { + error = clib_error_return_unix (0, "stat (fd %d, '%s')", + s->fd, s->config); + goto done; + } st.st_mode |= S_IWGRP; - chmod (((struct sockaddr_un *) &addr)->sun_path, st.st_mode); + if (chmod (((struct sockaddr_un *) &addr)->sun_path, st.st_mode) < + 0) + { + error = + clib_error_return_unix (0, "chmod (fd %d, '%s', mode %o)", + s->fd, s->config, st.st_mode); + goto done; + } } } else