[Bug 1306086] [NEW] qdbus check is wrong in startkde

Matteo Croce rootkit85 at yahoo.it
Thu Apr 10 16:19:37 UTC 2014


Public bug reported:

In the beginning of /usr/bin/startkde there is a check to assure that qdbus can be called.
A variable is set like this:

qdbus=QT_SELECT=qt4 qdbus

and later there is the real check:

if $qdbus >/dev/null 2>/dev/null; then
    : # ok
else

unfortunately this is completely wrong, the variable assignment would call qdbus directly with a wrong "qdbus=QT_SELECT=qt4" environment variable,
because the first unquoted space after a variable assignment separated the environment from the command line to start
as explained in the BASH bible: http://www.tldp.org/LDP/abs/html/varsubn.html#EX9, example:

GIT_DIR=/usr/src/repo/.git git status

Indeed, if I make qdbus non executable (or if I remove it) like `chmod
000 /usr/bin/qdbus` startkde would not complain as it should do.

This because the check `if $qdbus >/dev/null 2>/dev/null; then` is
always true as "$qdbus" evaluates to "qdbus=QT_SELECT=qt4" without
"qdbus" and an assignment is always succesfull in shell.

This bug was introduced when trying to fix
https://bugs.launchpad.net/ubuntu/+source/kde-workspace/+bug/1304805

** Affects: kde-workspace (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Kubuntu
Bugs, which is subscribed to kde-workspace in Ubuntu.
https://bugs.launchpad.net/bugs/1306086

Title:
  qdbus check is wrong in startkde

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/kde-workspace/+bug/1306086/+subscriptions




More information about the kubuntu-bugs mailing list