bf38a99594f012f344a220f5422ecc29780e22c4 galt Thu Oct 27 14:03:32 2011 -0700 fix problem with udcCleanup on tiny corrupt bitmap files diff --git src/lib/udc.c src/lib/udc.c index 36d4deb..3860fa1 100644 --- src/lib/udc.c +++ src/lib/udc.c @@ -1480,30 +1480,31 @@ if (file->isDir) { setCurrentDir(file->name); bits64 oneResult = rCleanup(deleteTime, testOnly); setCurrentDir(".."); if (oneResult > 0) { if (!testOnly) remove(file->name); results += oneResult; results += file->size; } } else if (sameString(file->name, bitmapName)) { + if (file->size > udcBitmapHeaderSize) /* prevent failure on bitmap files of size 0 or less than header size */ verbose(2, "%ld (%ld) %s/%s\n", bitRealDataSize(file->name), (long)file->size, getCurrentDir(), file->name); if (file->lastAccess < deleteTime) { /* Remove all files when get bitmap, so that can ensure they are deleted in * right order. */ results += file->size; if (!testOnly) { remove(bitmapName); remove(sparseDataName); } } } else if (sameString(file->name, sparseDataName)) {