summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2017-04-24 08:38:56 -0400
committerLibravatar netblue30 <netblue30@yahoo.com>2017-04-24 08:38:56 -0400
commitdf8c4e9cd15bfc2c5cb4c854a8f876c02c2eb1d6 (patch)
tree1b249af7fa6bfd12a925c7568bbbc032a15daee7
parentfix totem profile for Ubuntu Gnome (diff)
downloadfirejail-df8c4e9cd15bfc2c5cb4c854a8f876c02c2eb1d6.tar.gz
firejail-df8c4e9cd15bfc2c5cb4c854a8f876c02c2eb1d6.tar.zst
firejail-df8c4e9cd15bfc2c5cb4c854a8f876c02c2eb1d6.zip
fcopy - fix trailing char
-rw-r--r--src/fcopy/main.c6
-rwxr-xr-xtest/fcopy/fcopy.sh3
-rwxr-xr-xtest/fcopy/trailing.exp25
3 files changed, 34 insertions, 0 deletions
diff --git a/src/fcopy/main.c b/src/fcopy/main.c
index 88379001c..b9d2c19a8 100644
--- a/src/fcopy/main.c
+++ b/src/fcopy/main.c
@@ -322,6 +322,12 @@ int main(int argc, char **argv) {
322 exit(1); 322 exit(1);
323 } 323 }
324 324
325 // trim trailing chars
326 if (src[strlen(src) - 1] == '/')
327 src[strlen(src) - 1] = '\0';
328 if (dest[strlen(dest) - 1] == '/')
329 dest[strlen(dest) - 1] = '\0';
330
325 // check the two files; remove ending / 331 // check the two files; remove ending /
326 int len = strlen(src); 332 int len = strlen(src);
327 if (src[len - 1] == '/') 333 if (src[len - 1] == '/')
diff --git a/test/fcopy/fcopy.sh b/test/fcopy/fcopy.sh
index 362ed66e0..fffdbd606 100755
--- a/test/fcopy/fcopy.sh
+++ b/test/fcopy/fcopy.sh
@@ -27,4 +27,7 @@ echo "TESTING: fcopy file (test/fcopy/filecopy.exp)"
27echo "TESTING: fcopy link (test/fcopy/linkcopy.exp)" 27echo "TESTING: fcopy link (test/fcopy/linkcopy.exp)"
28./linkcopy.exp 28./linkcopy.exp
29 29
30echo "TESTING: fcopy trailing char (test/copy/trailing.exp)"
31./linkcopy.exp
32
30rm -fr dest/* 33rm -fr dest/*
diff --git a/test/fcopy/trailing.exp b/test/fcopy/trailing.exp
new file mode 100755
index 000000000..1bff4e6c8
--- /dev/null
+++ b/test/fcopy/trailing.exp
@@ -0,0 +1,25 @@
1#!/usr/bin/expect -f
2# This file is part of Firejail project
3# Copyright (C) 2014-2017 Firejail Authors
4# License GPL v2
5
6#
7# copy directory src to dest
8#
9set timeout 10
10spawn $env(SHELL)
11match_max 100000
12
13send -- "firejail --private-etc=group,passwd,firejail/ ls /etc/firejail\r"
14expect {
15 timeout {puts "TESTING ERROR 0\n";exit}
16 "Child process initialized"
17}
18expect {
19 timeout {puts "TESTING ERROR 0\n";exit}
20 "0ad.profile"
21}
22after 100
23
24
25puts "\nall done\n"