qt6-bb10/tests/auto/widgets/kernel
Thiago Macieira 29fceed2ff QProcess/Unix: ensure we don't accidentally execute something from CWD
Unless "." (or the empty string) is in $PATH, we're not supposed to find
executables in the current directory. This is how the Unix shells behave
and we match their behavior. It's also the behavior Qt had prior to 5.9
(commit 28666d167a). On Windows, searching
the current directory is the norm, so we keep that behavior.

This commit does not add an explicit check for an empty return from
QStandardPaths::findExecutable(). Instead, we allow that empty string to
go all the way to execve(2), which will fail with ENOENT. We could catch
it early, before fork(2), but why add code for the error case?

See https://kde.org/info/security/advisory-20220131-1.txt

[ChangeLog][Important Behavior Changes] When passed a simple program
name with no slashes, QProcess on Unix systems will now only search the
current directory if "." is one of the entries in the PATH environment
variable. This bug fix restores the behavior QProcess had before Qt 5.9.
If launching an executable in the directory set by setWorkingDirectory()
or inherited from the parent is intended, pass a program name starting
with "./". For more information and best practices about finding an
executable, see QProcess' documentation.

Pick-to: 5.15 6.2 6.3
Change-Id: I54f205f6b7314351b078fffd16cf7013c97ee9fb
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2022-02-09 11:26:32 -08:00
..
qaction Don't fire shortcut if the action only lives in an unreachable submenu 2021-10-25 17:17:40 +00:00
qactiongroup Remove the qmake project files 2021-01-07 15:32:28 +01:00
qapplication QProcess/Unix: ensure we don't accidentally execute something from CWD 2022-02-09 11:26:32 -08:00
qboxlayout Remove the qmake project files 2021-01-07 15:32:28 +01:00
qformlayout Remove the qmake project files 2021-01-07 15:32:28 +01:00
qgesturerecognizer Fix widget gesture grabbing 2021-12-11 00:51:10 +01:00
qgridlayout Fix invalid pointer return with QGridLayout::itemAt(-1) 2021-03-22 18:47:36 +08:00
qlayout Remove unused .qrc files 2022-01-17 23:17:01 +01:00
qshortcut Further improve QShortcut test 2022-01-18 22:42:44 +01:00
qsizepolicy Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstackedlayout Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtooltip Unskip QToolTip::keyEvent test on macOS 2021-09-09 19:22:55 +00:00
qwidget QNX: Remove expected fail 2022-02-09 14:17:53 +00:00
qwidget_window Fix compiler warnings by marking overrides in test 2022-01-07 21:49:57 +01:00
qwidgetaction QWidgetAction: add test for defaultWidget() being deleted before action 2021-06-22 11:38:32 +02:00
qwidgetmetatype Remove the qmake project files 2021-01-07 15:32:28 +01:00
qwidgetrepaintmanager Add unit test for moving of opaque widgets 2021-12-08 23:06:42 +00:00
qwidgetsvariant Remove the qmake project files 2021-01-07 15:32:28 +01:00
qwindowcontainer Remove the qmake project files 2021-01-07 15:32:28 +01:00
CMakeLists.txt Add testcase for QWidgetRepaintManager 2021-09-30 21:10:48 +02:00