summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2013-10-25 16:55:05 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2013-10-25 16:55:05 +0100
commit08b5daae7971c7ab730471d58d665ef087573791 (patch)
tree19bce8cb3c16769f838d612eb5aeca49da300e10
parent3223d3f138645887586ad0cb77f28db3b13a0709 (diff)
Fix the "shellquote" command to work properly. The bugs in it ought not to have caused any real trouble in previous versions of dgit.
-rw-r--r--debian/changelog2
-rwxr-xr-xdgit3
2 files changed, 4 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index ad20088..41374bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ dgit (0.17~experimental4) experimental; urgency=low
order so that we use the correct Description (the _source one,
not the one from sbuild which didn't get e.g. -v<version>).
* Clarify the manpage's comments about orig tarballs. Closes: #723605.
+ * Fix the "shellquote" command to work properly. The bugs in it ought
+ not to have caused any real trouble in previous versions of dgit.
--
diff --git a/dgit b/dgit
index 254e3fb..d74dd85 100755
--- a/dgit
+++ b/dgit
@@ -312,7 +312,8 @@ sub shellquote {
local $_;
foreach my $a (@_) {
$_ = $a;
- if (s{['\\]}{\\$&}g || m{\s} || m{[^-_./0-9a-z]}i) {
+ if (m{[^-=_./0-9a-z]}i) {
+ s{['\\]}{'\\$&'}g;
push @out, "'$_'";
} else {
push @out, $_;