diff --git a/borg/key.py b/borg/key.py index 2333f7810..fdbb2e04b 100644 --- a/borg/key.py +++ b/borg/key.py @@ -2,6 +2,7 @@ from binascii import hexlify, a2b_base64, b2a_base64 import configparser import getpass import os +import shlex import subprocess import sys import textwrap @@ -327,7 +328,7 @@ class Passphrase(str): passcommand = os.environ.get('BORG_PASSCOMMAND', None) if passcommand is not None: try: - passphrase = subprocess.check_output(passcommand.split(), universal_newlines=True) + passphrase = subprocess.check_output(shlex.split(passcommand), universal_newlines=True) except (subprocess.CalledProcessError, FileNotFoundError) as e: raise PasscommandFailure(e) return cls(passphrase.rstrip('\n'))