From 3ea0e91533b0dbf68be56fd6759bfc4331651404 Mon Sep 17 00:00:00 2001 From: Patrick Gartung Date: Wed, 4 Mar 2020 17:15:09 -0600 Subject: use os.sep instead of null byte to pad replacement paths in binaries (#15338) * use os.sep instead of null byte to pad replacement paths in binaries * Prefix the pading os.sep's --- lib/spack/spack/relocate.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/spack/spack/relocate.py b/lib/spack/spack/relocate.py index fb4ff18fae..a6aea329e1 100644 --- a/lib/spack/spack/relocate.py +++ b/lib/spack/spack/relocate.py @@ -412,7 +412,8 @@ def replace_prefix_bin(path_name, old_dir, new_dir): if padding < 0: return data return match.group().replace(old_dir.encode('utf-8'), - new_dir.encode('utf-8')) + b'\0' * padding + os.sep.encode('utf-8') * padding + + new_dir.encode('utf-8')) with open(path_name, 'rb+') as f: data = f.read() -- cgit v1.2.3-70-g09d2