[CRIU] [PATCH] zdtm/socket-ext: clean up test files
Andrei Vagin
avagin at openvz.org
Fri May 11 03:17:36 MSK 2018
Reported-by: Dmitry Safonov <dima at arista.com>
Cc: Dmitry Safonov <dima at arista.com>
Signed-off-by: Andrei Vagin <avagin at openvz.org>
---
test/zdtm/static/socket-ext.c | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/test/zdtm/static/socket-ext.c b/test/zdtm/static/socket-ext.c
index c33960dbf..333fb8ce2 100644
--- a/test/zdtm/static/socket-ext.c
+++ b/test/zdtm/static/socket-ext.c
@@ -29,11 +29,26 @@ int main(int argc, char *argv[])
char *path;
pid_t pid;
int ret, sk;
+ char *val;
+
+ unsetenv("ZDTM_GROUPS");
+ val = getenv("ZDTM_GID");
+ if (val && (setgid(atoi(val)) == -1)) {
+ fprintf(stderr, "Can't set gid: %m");
+ exit(1);
+ }
+
+ val = getenv("ZDTM_UID");
+ if (val && (setuid(atoi(val)) == -1)) {
+ fprintf(stderr, "Can't set uid: %m");
+ exit(1);
+ }
if (mkdtemp(dir) < 0) {
pr_perror("mkdtemp(%s) failed", dir);
return 1;
}
+ chmod(dir, 0777);
addr.sun_family = AF_UNIX;
snprintf(addr.sun_path, sizeof(addr.sun_path),
"%s/%s", dir, "sock");
@@ -92,8 +107,14 @@ int main(int argc, char *argv[])
test_daemon();
test_waitsig();
- unlink(path);
- unlink(dir);
+ if (unlink(path)) {
+ pr_perror("Unable to remove %s\n", path);
+ return 1;
+ }
+ if (rmdir(dir)) {
+ pr_perror("Unable to remove %s", dir);
+ return 1;
+ }
ret = send(sk, "H", 1, 0);
if (ret != 1) {
--
2.17.0
More information about the CRIU
mailing list