diff options
author | Richard Weinberger <richard@nod.at> | 2016-10-04 23:38:33 +0300 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2016-12-13 01:07:38 +0300 |
commit | 304790c038bc4af4f19774705409db27eafb09fc (patch) | |
tree | e1b6ea9c0a61bef84979f3f9b18eee19ac3ade8b /fs/ubifs | |
parent | 7799953b34d1838b30e3d69fd36aa3288ac1e89d (diff) | |
download | linux-304790c038bc4af4f19774705409db27eafb09fc.tar.xz |
ubifs: Relax checks in ubifs_validate_entry()
With encrypted filenames we store raw binary data, doing
string tests is no longer possible.
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'fs/ubifs')
-rw-r--r-- | fs/ubifs/replay.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ubifs/replay.c b/fs/ubifs/replay.c index fb0f44cd1e28..026e853d31a7 100644 --- a/fs/ubifs/replay.c +++ b/fs/ubifs/replay.c @@ -456,7 +456,7 @@ int ubifs_validate_entry(struct ubifs_info *c, if (le32_to_cpu(dent->ch.len) != nlen + UBIFS_DENT_NODE_SZ + 1 || dent->type >= UBIFS_ITYPES_CNT || nlen > UBIFS_MAX_NLEN || dent->name[nlen] != 0 || - strnlen(dent->name, nlen) != nlen || + (key_type == UBIFS_XENT_KEY && strnlen(dent->name, nlen) != nlen) || le64_to_cpu(dent->inum) > MAX_INUM) { ubifs_err(c, "bad %s node", key_type == UBIFS_DENT_KEY ? "directory entry" : "extended attribute entry"); |