X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Frunas.c;h=9e3b5ec3395d823d301b5ee1b8bed7f83f20bfe6;hb=9a642a3f53dfc3deab8196945d0b3762f4641200;hp=081a3d28e98e4eac9bf236ac4825319d3828f0b4;hpb=2e950c57c5009816e071a335436724c644d33b48;p=lttng-tools.git diff --git a/src/common/runas.c b/src/common/runas.c index 081a3d28e..9e3b5ec33 100644 --- a/src/common/runas.c +++ b/src/common/runas.c @@ -329,7 +329,6 @@ int run_as_worker(struct run_as_worker *worker) if (ret && ret != -ENOSYS) { /* Don't fail as this is not essential. */ PERROR("prctl PR_SET_NAME"); - ret = 0; } sendret.ret = 0; @@ -466,6 +465,7 @@ int run_as_mkdir_recursive(const char *path, mode_t mode, uid_t uid, gid_t gid) { struct run_as_data data; + memset(&data, 0, sizeof(data)); DBG3("mkdir() recursive %s with mode %d for uid %d and gid %d", path, (int) mode, (int) uid, (int) gid); strncpy(data.u.mkdir.path, path, PATH_MAX - 1); @@ -479,6 +479,7 @@ int run_as_mkdir(const char *path, mode_t mode, uid_t uid, gid_t gid) { struct run_as_data data; + memset(&data, 0, sizeof(data)); DBG3("mkdir() %s with mode %d for uid %d and gid %d", path, (int) mode, (int) uid, (int) gid); strncpy(data.u.mkdir.path, path, PATH_MAX - 1); @@ -492,6 +493,7 @@ int run_as_open(const char *path, int flags, mode_t mode, uid_t uid, gid_t gid) { struct run_as_data data; + memset(&data, 0, sizeof(data)); DBG3("open() %s with flags %X mode %d for uid %d and gid %d", path, flags, (int) mode, (int) uid, (int) gid); strncpy(data.u.open.path, path, PATH_MAX - 1); @@ -506,6 +508,7 @@ int run_as_unlink(const char *path, uid_t uid, gid_t gid) { struct run_as_data data; + memset(&data, 0, sizeof(data)); DBG3("unlink() %s with for uid %d and gid %d", path, (int) uid, (int) gid); strncpy(data.u.unlink.path, path, PATH_MAX - 1); @@ -653,6 +656,7 @@ int run_as_create_worker(char *procname) ret = -1; } worker->sockpair[1] = -1; + free(worker); LOG(ret ? PRINT_ERR : PRINT_DBG, "run_as worker exiting (ret = %d)", ret); exit(ret ? EXIT_FAILURE : EXIT_SUCCESS); } else {