diff options
author | Stef Walter <stef@thewalter.net> | 2013-06-17 14:36:37 +0200 |
---|---|---|
committer | Stef Walter <stef@thewalter.net> | 2013-06-17 14:44:52 +0200 |
commit | b6e065cda1db37a6c8ed52dac3432468e1277323 (patch) | |
tree | 10c79d77c6fac08233b929374bad032f8fe7f8da | |
parent | 49e344cfa48d765ccc83a7313b1ba1c30252b84e (diff) |
tools: Only use our private path when looking for external commands
Instead of looking for external commands in the path, just look
for them in our private directory.
We want to be conservative early on, and limit what sorta things
we have to maintain later. We can later remove this restriction
if a real use case presents itself.
-rw-r--r-- | tools/tool.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/tools/tool.c b/tools/tool.c index a2dbcbd..dcbb1a5 100644 --- a/tools/tool.c +++ b/tools/tool.c @@ -194,20 +194,17 @@ exec_external (const char *command, char *argv[]) { char *filename; - const char *path; - char *env; + char *path; if (!asprintf (&filename, "p11-kit-%s", command) < 0) return_if_reached (); /* Add our libexec directory to the path */ - path = getenv ("PATH"); - if (!asprintf (&env, "PATH=%s%s%s", path ? path : "", path ? P11_PATH_SEP : "", PRIVATEDIR)) - return_if_reached (); - putenv (env); + path = p11_path_build (PRIVATEDIR, filename, NULL); + return_if_fail (path != NULL); argv[0] = filename; - execvp (filename, argv); + execvp (path, argv); } static void |