krb5 commit: Properly quote command strings in k5test.py

[email protected] Tue, 22 Aug 2023 02:11:24 -0400 (EDT)
Newsgroups gmane.comp.encryption.kerberos.cvs
Message-ID <[email protected]>
https://github.com/krb5/krb5/commit/ae704daad5caa502387aa39ed6d596cb117d5b3a
commit ae704daad5caa502387aa39ed6d596cb117d5b3a
Author: Greg Hudson <[email protected]>
Date:   Thu Jul 27 23:54:16 2023 -0400

    Properly quote command strings in k5test.py
    
    Requiring Python 3.4 gives us shlex.quote() (added in Python 3.3).
    Use it in _shell_equiv() to quote command arguments.

 src/util/k5test.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/util/k5test.py b/src/util/k5test.py
index 8e5f5ba8e..f205f0ab3 100644
--- a/src/util/k5test.py
+++ b/src/util/k5test.py
@@ -672,11 +672,10 @@ def _cfg_merge(cfg1, cfg2):
     return result
 
 
-# Python gives us shlex.split() to turn a shell command into a list of
-# arguments, but oddly enough, not the easier reverse operation.  For
-# now, do a bad job of faking it.
+# We would like to use shlex.join() from Python 3.8.  For now use
+# shlex.quote() from Python 3.3.
 def _shell_equiv(args):
-    return " ".join(args)
+    return ' '.join(shlex.quote(x) for x in args)
 
 
 # Add a valgrind prefix to the front of args if specified in the