From: Jim Meyering <meyering@xxxxxxxxxx>
Given a zero-length directory name, the trailing-slash removal
code would test dir_name[-1], and if it were found to be a slash,
would set it to '\0'.
Reviewed-by: Josef Bacik <josef@xxxxxxxxxx>
---
restore.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/restore.c b/restore.c
index 250c9d3..2674832 100644
--- a/restore.c
+++ b/restore.c
@@ -849,11 +849,9 @@ int main(int argc, char **argv)
strncpy(dir_name, argv[optind + 1], 128);
/* Strip the trailing / on the dir name */
- while (1) {
- len = strlen(dir_name);
- if (dir_name[len - 1] != '/')
- break;
- dir_name[len - 1] = '\0';
+ len = strlen(dir_name);
+ while (len && dir_name[--len] == '/') {
+ dir_name[len] = '\0';
}
if (find_dir) {
--
1.7.10.228.g81f95
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html