projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix memory leak when /proc/yaffs is read
[yaffs2.git]
/
yaffs_yaffs1.c
diff --git
a/yaffs_yaffs1.c
b/yaffs_yaffs1.c
index e98d04d434a3b9c68bcc5c2c1db7e21f5d024153..1dd4db937fccf20ed437f50af38b7bf0f6ba1b90 100644
(file)
--- a/
yaffs_yaffs1.c
+++ b/
yaffs_yaffs1.c
@@
-1,8
+1,7
@@
/*
* YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
*
/*
* YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
*
- * Copyright (C) 2002-2011 Aleph One Ltd.
- * for Toby Churchill Ltd and Brightstar Engineering
+ * Copyright (C) 2002-2018 Aleph One Ltd.
*
* Created by Charles Manning <charles@aleph1.co.uk>
*
*
* Created by Charles Manning <charles@aleph1.co.uk>
*
@@
-22,10
+21,10
@@
int yaffs1_scan(struct yaffs_dev *dev)
{
struct yaffs_ext_tags tags;
int yaffs1_scan(struct yaffs_dev *dev)
{
struct yaffs_ext_tags tags;
-
int
blk;
+
u32
blk;
int result;
int chunk;
int result;
int chunk;
-
int
c;
+
u32
c;
int deleted;
enum yaffs_block_state state;
LIST_HEAD(hard_list);
int deleted;
enum yaffs_block_state state;
LIST_HEAD(hard_list);
@@
-98,6
+97,8
@@
int yaffs1_scan(struct yaffs_dev *dev)
result = yaffs_rd_chunk_tags_nand(dev, chunk, NULL,
&tags);
result = yaffs_rd_chunk_tags_nand(dev, chunk, NULL,
&tags);
+ if (result != YAFFS_OK)
+ continue;
/* Let's have a good look at this chunk... */
if (tags.ecc_result == YAFFS_ECC_RESULT_UNFIXED ||
/* Let's have a good look at this chunk... */
if (tags.ecc_result == YAFFS_ECC_RESULT_UNFIXED ||