X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Ftrigger.c;fp=src%2Fcommon%2Ftrigger.c;h=21550140100a755984523d8b1f1f7a8fd76e4acb;hp=ec96fc80b7d804249c8c4f1f395d4a693080fd1e;hb=d84c8ae3fc703d9043eec97f1a5e61bef994da7b;hpb=8a917ae8818ca1c1b9b300b2da65b1abbd9dbc30 diff --git a/src/common/trigger.c b/src/common/trigger.c index ec96fc80b..215501401 100644 --- a/src/common/trigger.c +++ b/src/common/trigger.c @@ -704,6 +704,7 @@ enum lttng_trigger_status lttng_trigger_set_owner_uid( struct lttng_trigger *trigger, uid_t uid) { enum lttng_trigger_status ret = LTTNG_TRIGGER_STATUS_OK; + const uid_t euid = geteuid(); const struct lttng_credentials creds = { .uid = LTTNG_OPTIONAL_INIT_VALUE(uid), .gid = LTTNG_OPTIONAL_INIT_UNSET, @@ -715,7 +716,7 @@ enum lttng_trigger_status lttng_trigger_set_owner_uid( } /* Client-side validation only to report a clearer error. */ - if (geteuid() != 0) { + if (euid != 0 && euid != uid) { ret = LTTNG_TRIGGER_STATUS_PERMISSION_DENIED; goto end; }