diff --git a/criu/fdstore.c b/criu/fdstore.c index a4583fdf4..7c8eb7208 100644 --- a/criu/fdstore.c +++ b/criu/fdstore.c @@ -107,8 +107,13 @@ int fdstore_add(int fd) int fdstore_get(int id) { - int sk = get_service_fd(FDSTORE_SK_OFF); - int fd; + int sk, fd; + + sk = get_service_fd(FDSTORE_SK_OFF); + if (sk < 0) { + pr_err("Cannot get FDSTORE_SK_OFF fd\n"); + return -1; + } mutex_lock(&desc->lock); if (setsockopt(sk, SOL_SOCKET, SO_PEEK_OFF, &id, sizeof(id))) { diff --git a/criu/namespaces.c b/criu/namespaces.c index c8baf42fc..eeb9205d0 100644 --- a/criu/namespaces.c +++ b/criu/namespaces.c @@ -1364,6 +1364,10 @@ int __userns_call(const char *func_name, uns_call_t call, int flags, return call(arg, fd, getpid()); sk = get_service_fd(USERNSD_SK); + if (sk < 0) { + pr_err("Cannot get USERNSD_SK fd\n"); + return -1; + } pr_debug("uns: calling %s (%d, %x)\n", func_name, fd, flags); if (!async)