aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Pärtel <martin.partel@gmail.com>2020-05-13 20:17:51 +0300
committerMartin Pärtel <martin.partel@gmail.com>2020-05-13 20:18:53 +0300
commitbe5718d9273f63e40427166c59036ebc13120d08 (patch)
tree22c3e953177b820a72c039cd316ccfdda59ea3d5
parente01b9c963d4d0db01d88ae91a33d1d083b9123eb (diff)
downloadbindfs-be5718d9273f63e40427166c59036ebc13120d08.tar.gz
Fixed a line ending bug with uid/gid mapping files that I introduced when merging #85.
-rw-r--r--src/bindfs.c2
-rwxr-xr-xtests/test_bindfs.rb2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/bindfs.c b/src/bindfs.c
index 6668ab8..0d14447 100644
--- a/src/bindfs.c
+++ b/src/bindfs.c
@@ -1889,7 +1889,7 @@ static int parse_map_file(UserMap *map, UserMap *reverse_map, char *file, int as
while ((read = getline(&line, &len, fp)) != -1) {
// Remove newline in case someone builds a file with lines like 'a:b:123' by hand.
// If we left the newline, strtok would return "123\n" as the last token.
- if (read > 0) {
+ if (read > 0 && line[read - 1] == '\n') {
line[read - 1] = '\0';
}
diff --git a/tests/test_bindfs.rb b/tests/test_bindfs.rb
index 8e4ee13..a616017 100755
--- a/tests/test_bindfs.rb
+++ b/tests/test_bindfs.rb
@@ -400,7 +400,7 @@ Tempfile.create('passwdfile') do |passwd_file|
Tempfile.create('groupfile') do |group_file|
passwd_file.puts("nobody:x:123:456:,,,:/tmp:/bin/false")
passwd_file.flush
- group_file.puts("#{nobody_group}:x:789")
+ group_file.write("#{nobody_group}:x:789")
group_file.flush
root_testenv("--map-passwd=#{Shellwords.escape(passwd_file.path)} --map-group=#{Shellwords.escape(group_file.path)}") do
touch('src/file1')