Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e16cfca authored by David Woodhouse's avatar David Woodhouse
Browse files

jffs2: Fix long-standing bug with symlink garbage collection.



Ever since jffs2_garbage_collect_metadata() was first half-written in
February 2001, it's been broken on architectures where 'char' is signed.
When garbage collecting a symlink with target length above 127, the payload
length would end up negative, causing interesting and bad things to happen.

Cc: stable@kernel.org
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 0a032a4d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -700,7 +700,8 @@ static int jffs2_garbage_collect_metadata(struct jffs2_sb_info *c, struct jffs2_
	struct jffs2_raw_inode ri;
	struct jffs2_node_frag *last_frag;
	union jffs2_device_node dev;
	char *mdata = NULL, mdatalen = 0;
	char *mdata = NULL;
	int mdatalen = 0;
	uint32_t alloclen, ilen;
	int ret;