X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Frunas.c;h=6979ad3257c1da144955b6567ad7ce16afacdbaa;hb=e5d1a9b33aa0920bbd9f6948bd0676156da67c61;hp=bd51cd4ed2b7b6b8c00221b19209a63dba10c698;hpb=90e535ef0d0433d31e805775f85e4d187b1cf82c;p=lttng-tools.git diff --git a/src/common/runas.c b/src/common/runas.c index bd51cd4ed..6979ad325 100644 --- a/src/common/runas.c +++ b/src/common/runas.c @@ -130,14 +130,16 @@ int child_run_as(void *_data) 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"); - return EXIT_FAILURE; + sendret.i = -1; + goto write_return; } } /* @@ -145,6 +147,8 @@ int child_run_as(void *_data) */ umask(0); sendret.i = (*data->cmd)(data->data); + +write_return: /* send back return value */ writeleft = sizeof(sendret); index = 0;