if (ret && ret != -ENOSYS) {
/* Don't fail as this is not essential. */
PERROR("prctl PR_SET_NAME");
- ret = 0;
}
sendret.ret = 0;
* This is for debugging ONLY and should not be considered secure.
*/
static
-int run_as_noworker(enum run_as_cmd cmd,
- struct run_as_data *data, uid_t uid, gid_t gid)
+int run_as_noworker(enum run_as_cmd cmd, struct run_as_data *data)
{
int ret, saved_errno;
mode_t old_mask;
} else {
DBG("Using run_as without worker");
- ret = run_as_noworker(cmd, data, uid, gid);
+ ret = run_as_noworker(cmd, data);
}
return ret;
}
{
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);
{
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);
return run_as(RUN_AS_MKDIR, &data, uid, gid);
}
-/*
- * Note: open_run_as is currently not working. We'd need to pass the fd
- * opened in the child to the parent.
- */
LTTNG_HIDDEN
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);
{
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);
signame = "SIGTERM";
break;
default:
- signame = "Unknown";
+ signame = NULL;
}
- DBG("run_as worker received signal %s", signame);
+ if (signame) {
+ DBG("run_as worker received signal %s", signame);
+ } else {
+ DBG("run_as_worker received signal %d", sig);
+ }
}
static