# HG changeset patch # User charles # Date 1245375346 -3600 # Node ID 671aa2b5ed9263d158a65cc414a7d8295d4b96d3 # Parent d66ba616b510ceb34cb4eb6861696615c95da57c Handle malloc failure in checkpoint open. diff --git a/yaffs_checkptrw.c b/yaffs_checkptrw.c --- a/yaffs_checkptrw.c +++ b/yaffs_checkptrw.c @@ -168,6 +168,9 @@ int yaffs_CheckpointOpen(yaffs_Device *d dev->blocksInCheckpoint = 0; dev->checkpointMaxBlocks = (dev->internalEndBlock - dev->internalStartBlock)/16 + 2; dev->checkpointBlockList = YMALLOC(sizeof(int) * dev->checkpointMaxBlocks); + if(!dev->checkpointBlockList) + return 0; + for (i = 0; i < dev->checkpointMaxBlocks; i++) dev->checkpointBlockList[i] = -1; }