aboutsummaryrefslogtreecommitdiffstats
path: root/COPYING
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2019-11-21 15:51:47 +0100
committerThierry Vignaud <thierry.vignaud@gmail.com>2019-12-23 16:02:47 +0100
commit8ecaeab1b79c20f83eda540e39f31e6a73018d7f (patch)
treed0be71a0a008f4aad7819822fc5f58292b0ec4e6 /COPYING
parent7944a0608672698b96767550fa265fde01f29bf0 (diff)
downloadrpm-setup-8ecaeab1b79c20f83eda540e39f31e6a73018d7f.tar
rpm-setup-8ecaeab1b79c20f83eda540e39f31e6a73018d7f.tar.gz
rpm-setup-8ecaeab1b79c20f83eda540e39f31e6a73018d7f.tar.bz2
rpm-setup-8ecaeab1b79c20f83eda540e39f31e6a73018d7f.tar.xz
rpm-setup-8ecaeab1b79c20f83eda540e39f31e6a73018d7f.zip
brp-mangle-shebangs: fix unsafe/incorrect command expansion
trim() { printf '%s' "$*" } ... read shebang_line < "$f" || : orig_shebang=$(trim $(echo "$shebang_line" | grep -Po "#!\K.*" || echo)) The "trimming", i.e. replacement of multiple spaces and removal of leading and trailing spaces, is achieved because "trim $(cmd)" construct has an unquoted $(), which is subject to word splitting. This works, yes. BUT. It is also subject to glob expansion - any ?s and *s will be attempted to be expanded as well - definitely NOT what we want! This change replaces this trick with code which avoids the expansion issue, and which does not spawn any subprocesses for string manipulations - this is ~3 times faster (fork+execs are expensive). Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions