Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] oe: pass gcc and tmux commands as lists
@ 2026-06-19  9:26 Anders Heimer
  0 siblings, 0 replies; only message in thread
From: Anders Heimer @ 2026-06-19  9:26 UTC (permalink / raw)
  To: openembedded-core; +Cc: Anders Heimer

Avoid shell=True in subprocess calls.

Handle OSError if gcc cannot be started.

Signed-off-by: Anders Heimer <anders.heimer@est.tech>
---
 meta/lib/oe/terminal.py | 4 ++--
 meta/lib/oe/utils.py    | 6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 013d77581d..ec65b616ab 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -283,8 +283,8 @@ def check_tmux_pane_size(tmux):
     if not check_tmux_version('1.9'):
         return False
     try:
-        p = sub.Popen('%s list-panes -F "#{?pane_active,#{pane_height},}"' % tmux,
-                shell=True,stdout=sub.PIPE,stderr=sub.PIPE)
+        p = sub.Popen([tmux, "list-panes", "-F", "#{?pane_active,#{pane_height},}"],
+                stdout=sub.PIPE, stderr=sub.PIPE)
         out, err = p.communicate()
         size = int(out.strip())
     except OSError as exc:
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 18c48a145f..558073d3b1 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -433,10 +433,12 @@ def get_host_gcc_version(d, taskcontextonly=False):
         # datastore PATH does not contain session PATH as set by environment-setup-...
         # this breaks the install-buildtools use-case
         # env["PATH"] = d.getVar("PATH")
-        output = subprocess.check_output("gcc --version", \
-                    shell=True, env=env, stderr=subprocess.STDOUT).decode("utf-8")
+        output = subprocess.check_output(["gcc", "--version"], \
+                    env=env, stderr=subprocess.STDOUT).decode("utf-8")
     except subprocess.CalledProcessError as e:
         bb.fatal("Error running gcc --version: %s" % (e.output.decode("utf-8")))
+    except OSError as e:
+        bb.fatal("Error running gcc --version: %s" % e)
 
     match = re.match(r".* (\d+\.\d+)\.\d+.*", output.split('\n')[0])
     if not match:


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-19  9:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-19  9:26 [PATCH] oe: pass gcc and tmux commands as lists Anders Heimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox