Merged! David
Mathieu Desnoyers: > Failure to do so could cause the parent to hang on read() waiting for > the return value from the child. > > Targets: 2.3-rc and stable-2.2 branches. > > Signed-off-by: Mathieu Desnoyers <[email protected]> > --- > diff --git a/src/common/runas.c b/src/common/runas.c > index bd51cd4..6979ad3 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; > _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
