projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add -j/--jul to lttng UI and ABI
[lttng-tools.git]
/
src
/
common
/
runas.c
diff --git
a/src/common/runas.c
b/src/common/runas.c
index bd51cd4ed2b7b6b8c00221b19209a63dba10c698..3ae2e4c38d35e5d943f8ca9f3e49213d14472ed4 100644
(file)
--- a/
src/common/runas.c
+++ b/
src/common/runas.c
@@
-96,8
+96,15
@@
int _mkdir_recursive(void *_data)
static
int _mkdir(void *_data)
{
static
int _mkdir(void *_data)
{
+ int ret;
struct run_as_mkdir_data *data = _data;
struct run_as_mkdir_data *data = _data;
- return mkdir(data->path, data->mode);
+
+ ret = mkdir(data->path, data->mode);
+ if (ret < 0) {
+ ret = -errno;
+ }
+
+ return ret;
}
static
}
static
@@
-130,14
+137,16
@@
int child_run_as(void *_data)
ret = setegid(data->gid);
if (ret < 0) {
PERROR("setegid");
ret = setegid(data->gid);
if (ret < 0) {
PERROR("setegid");
- return EXIT_FAILURE;
+ sendret.i = -1;
+ goto write_return;
}
}
if (data->uid != geteuid()) {
ret = seteuid(data->uid);
if (ret < 0) {
PERROR("seteuid");
}
}
if (data->uid != geteuid()) {
ret = seteuid(data->uid);
if (ret < 0) {
PERROR("seteuid");
- return EXIT_FAILURE;
+ sendret.i = -1;
+ goto write_return;
}
}
/*
}
}
/*
@@
-145,6
+154,8
@@
int child_run_as(void *_data)
*/
umask(0);
sendret.i = (*data->cmd)(data->data);
*/
umask(0);
sendret.i = (*data->cmd)(data->data);
+
+write_return:
/* send back return value */
writeleft = sizeof(sendret);
index = 0;
/* send back return value */
writeleft = sizeof(sendret);
index = 0;
This page took
0.026775 seconds
and
5
git commands to generate.