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: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
Родитель
0a032a4df6
Коммит
2e16cfca6e
|
@ -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;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче