summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Pawlow <pp@siedziba.pl>2017-08-11 15:31:56 +0200
committerDavid Sterba <dsterba@suse.com>2017-09-25 15:17:00 +0200
commit334d83053a593e0adeea7f958a9811381fb458fc (patch)
treeff51ab06cadb8684984406f5cc99cc554eb762bc
parentc859336f470d1fadb46134b30d966b3588f1d44e (diff)
btrfs-progs: image: add a function to check if generated filename suffix is valid
Author: Piotr Pawlow <pp@siedziba.pl> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--image/main.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/image/main.c b/image/main.c
index b7e06885..c743cb4d 100644
--- a/image/main.c
+++ b/image/main.c
@@ -431,6 +431,22 @@ static void find_collision_calc_suffix(unsigned long current_crc,
suffix[i] = (desired_crc >> i * 8) & 0xFF;
}
+/*
+ * Check if suffix is valid according to our file name conventions
+ */
+static int find_collision_is_suffix_valid(const char *suffix)
+{
+ int i;
+ char c;
+
+ for (i = 0; i < 4; i++) {
+ c = suffix[i];
+ if (c < ' ' || c > 126 || c == '/')
+ return 0;
+ }
+ return 1;
+}
+
static int find_collision_brute_force(struct name *val, u32 name_len)
{
unsigned long checksum;