Message ID | ED3E0BCACD909541BA94A34C4A164D4C4FCDCECE@post.tritech.se |
---|---|
State | New, archived |
Headers | show |
diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c index e18b988..0e6b1df 100644 --- a/fs/ubifs/io.c +++ b/fs/ubifs/io.c @@ -261,8 +261,11 @@ int ubifs_check_node(const struct ubifs_info *c, const void *buf, int lnum, } node_len = le32_to_cpu(ch->len); - if (node_len + offs > c->leb_size) + if (node_len + offs > c->leb_size) { + /* Prevent crash when dumping node */ + ch->len = cpu_to_le32(c->leb_size - offs); goto out_len; + } if (c->ranges[type].max_len == 0) { if (node_len != c->ranges[type].len)