diff options
author | OBATA Akio <obache@wizdas.com> | 2020-08-09 17:34:23 +0900 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2021-02-03 22:41:23 +0100 |
commit | 35bff96a9ce2ea78beacd98dba537c1a5871dfff (patch) | |
tree | 00f3993656680a1fb102990528dc447876633f84 /kded | |
parent | f250423e9d9f93562ad82fc04620b335e0c6c783 (diff) | |
download | tdelibs-35bff96a9ce2ea78beacd98dba537c1a5871dfff.tar.gz tdelibs-35bff96a9ce2ea78beacd98dba537c1a5871dfff.zip |
Add a knob to use fixed path `iceauth` tool
`system()` and `popen()` may unsafe unless using absolute command path.
Rely on PATH environment variable set by users may result in unwanted tool.
Signed-off-by: OBATA Akio <obache@wizdas.com>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit ac8c8ca54aaed1466255161a3d727dcfade4a7d9)
Diffstat (limited to 'kded')
-rw-r--r-- | kded/khostname.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kded/khostname.cpp b/kded/khostname.cpp index 9b57e5362..4f75848db 100644 --- a/kded/khostname.cpp +++ b/kded/khostname.cpp @@ -16,6 +16,8 @@ * Boston, MA 02110-1301, USA. **/ +#include <config.h> + #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> @@ -236,7 +238,7 @@ void KHostName::changeDcop() ::symlink(fname.data(), compatLink.data()); // Compatibility link // Update .ICEauthority - TQString cmd = "iceauth list "+KProcess::quote("netid="+oldNetId); + TQString cmd = ICEAUTH_COMMAND " list "+KProcess::quote("netid="+oldNetId); FILE *iceFile = popen(TQFile::encodeName(cmd), "r"); if (!iceFile) { @@ -271,7 +273,7 @@ void KHostName::changeDcop() if (netId != oldNetId) continue; - cmd = "iceauth add "; + cmd = ICEAUTH_COMMAND " add "; cmd += KProcess::quote(protName); cmd += " '' "; cmd += KProcess::quote(newNetId); @@ -288,7 +290,7 @@ void KHostName::changeDcop() char* xauthlocalhostname = getenv("XAUTHLOCALHOSTNAME"); if (!xauthlocalhostname || !oldNetId.contains(xauthlocalhostname)) { - TQString cmd = "iceauth remove "+KProcess::quote("netid="+oldNetId); + TQString cmd = ICEAUTH_COMMAND " remove "+KProcess::quote("netid="+oldNetId); system(TQFile::encodeName(cmd)); unlink(origFName.data()); origFName = DCOPClient::dcopServerFileOld(oldName); // Compatibility link |