1
Fork 0
mirror of https://github.com/j1g5awi/krunner-vscode.git synced 2024-11-23 08:39:31 +00:00

Use subprocess to run VSCode (#5)

This removes the risk of any shell injection from `os.system`.
This commit is contained in:
Jake Howard 2023-08-07 05:13:40 +01:00 committed by GitHub
parent e2cbbcd1f4
commit ea2aba100f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,5 +1,6 @@
import json import json
import os import os
import subprocess
import sqlite3 import sqlite3
from pathlib import Path from pathlib import Path
from typing import NamedTuple from typing import NamedTuple
@ -92,11 +93,10 @@ class Runner(dbus.service.Object):
@dbus.service.method(iface, in_signature="ss") @dbus.service.method(iface, in_signature="ss")
def Run(self, data: str, action_id: str): def Run(self, data: str, action_id: str):
if not action_id: subprocess.run([
os.system("code " + data) "code" if not action_id else "xdg-open",
else: data
os.system("xdg-open " + data) ])
runner = Runner() runner = Runner()
loop = GLib.MainLoop() loop = GLib.MainLoop()