diff --git a/libselinux/utils/compute_create.c b/libselinux/utils/compute_create.c index c6481f4b..5401fe96 100644 --- a/libselinux/utils/compute_create.c +++ b/libselinux/utils/compute_create.c @@ -10,10 +10,11 @@ int main(int argc, char **argv) { char *buf; security_class_t tclass; + const char *objname; int ret; - if (argc != 4) { - fprintf(stderr, "usage: %s scontext tcontext tclass\n", + if (argc != 4 && argc != 5) { + fprintf(stderr, "usage: %s scontext tcontext tclass [objname]\n", argv[0]); exit(1); } @@ -34,7 +35,9 @@ int main(int argc, char **argv) exit(2); } - ret = security_compute_create(argv[1], argv[2], tclass, &buf); + objname = (argc == 5) ? argv[4] : NULL; + + ret = security_compute_create_name(argv[1], argv[2], tclass, objname, &buf); if (ret < 0) { fprintf(stderr, "%s: security_compute_create failed: %s\n", argv[0], strerror(errno));