X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Frunas.c;h=09fdaf40aaa172356dc7957c5ea072e99a7d0e04;hp=30bf4263aa3d55c365c99a2ff4e57ef61a7614ed;hb=246611b0dffa58fbc0e2329ddf6f9dc9d9eff7ce;hpb=edf4b93e2f5c849cbec49e987990b3705ea49f6a diff --git a/src/common/runas.c b/src/common/runas.c index 30bf4263a..09fdaf40a 100644 --- a/src/common/runas.c +++ b/src/common/runas.c @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -37,7 +38,6 @@ #include #include -#include #include "runas.h" @@ -1799,15 +1799,16 @@ error: LTTNG_HIDDEN int run_as_generate_filter_bytecode(const char *filter_expression, - uid_t uid, - gid_t gid, - struct lttng_filter_bytecode **bytecode) + const struct lttng_credentials *creds, + struct lttng_bytecode **bytecode) { int ret; struct run_as_data data = {}; struct run_as_ret run_as_ret = {}; - const struct lttng_filter_bytecode *view_bytecode = NULL; - struct lttng_filter_bytecode *local_bytecode = NULL; + const struct lttng_bytecode *view_bytecode = NULL; + struct lttng_bytecode *local_bytecode = NULL; + const uid_t uid = lttng_credentials_get_uid(creds); + const gid_t gid = lttng_credentials_get_gid(creds); DBG3("generate_filter_bytecode() from expression=\"%s\" for uid %d and gid %d", filter_expression, (int) uid, (int) gid); @@ -1825,7 +1826,7 @@ int run_as_generate_filter_bytecode(const char *filter_expression, goto error; } - view_bytecode = (const struct lttng_filter_bytecode *) run_as_ret.u.generate_filter_bytecode.bytecode; + view_bytecode = (const struct lttng_bytecode *) run_as_ret.u.generate_filter_bytecode.bytecode; local_bytecode = zmalloc(sizeof(*local_bytecode) + view_bytecode->len); if (!local_bytecode) {