krb5 commit: Properly quote command strings in k5test.py

ghudson at mit.edu ghudson at mit.edu
Tue Aug 22 02:11:24 EDT 2023


https://github.com/krb5/krb5/commit/ae704daad5caa502387aa39ed6d596cb117d5b3a
commit ae704daad5caa502387aa39ed6d596cb117d5b3a
Author: Greg Hudson <ghudson at mit.edu>
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


More information about the cvs-krb5 mailing list