X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=yaffs_yaffs2.c;h=90646fd37ae2f5b44160d9aea964ec72ae0f579a;hp=faba0280fbc9eb1f26e56bae8a29c1a8e253a233;hb=25f6e492e7010f585367a4f6abf4d2e17c5c0e1a;hpb=780469359d1051ab37ab281b0520137d73fee2e9 diff --git a/yaffs_yaffs2.c b/yaffs_yaffs2.c index faba028..90646fd 100644 --- a/yaffs_yaffs2.c +++ b/yaffs_yaffs2.c @@ -31,16 +31,6 @@ #define YAFFS_SMALL_HOLE_THRESHOLD 4 -void yaffs2_VerifyBlock(yaffs_Device *dev, yaffs_BlockInfo *bi, int n) -{ - if (!dev->param.isYaffs2) - return; - - if((bi->blockState == YAFFS_BLOCK_STATE_ALLOCATING || bi->blockState == YAFFS_BLOCK_STATE_FULL) && - (bi->sequenceNumber < YAFFS_LOWEST_SEQUENCE_NUMBER || bi->sequenceNumber > 10000000)) - T(YAFFS_TRACE_VERIFY, (TSTR("Block %d has suspect sequence number of %d"TENDSTR), - n, bi->sequenceNumber)); -} /* * Oldest Dirty Sequence Number handling. @@ -1140,6 +1130,15 @@ int yaffs2_ScanBackwards(yaffs_Device *dev) dev->nFreeChunks++; + } else if (tags.objectId > YAFFS_MAX_OBJECT_ID || + tags.chunkId > YAFFS_MAX_CHUNK_ID || + (tags.chunkId > 0 && tags.byteCount > dev->nDataBytesPerChunk)) { + T(YAFFS_TRACE_SCAN, + (TSTR("Chunk (%d:%d) with bad tags:obj = %d, chunkId = %d, byteCount = %d, ignored"TENDSTR), + blk, c,tags.objectId, tags.chunkId, tags.byteCount)); + + dev->nFreeChunks++; + } else if (tags.chunkId > 0) { /* chunkId > 0 so it is a data chunk... */ unsigned int endpos;