diff options
author | Theodore Ts'o <tytso@mit.edu> | 1997-10-26 03:41:24 +0000 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 1997-10-26 03:41:24 +0000 |
commit | 7b4e4534f9361b21d3fafdd88a58f133decee38c (patch) | |
tree | db28490bbca280ffd8d74dcfa64ed7cba508cbbf /lib/ext2fs/rw_bitmaps.c | |
parent | 78d8f90ffae45808096133c461ef1ee0e65de937 (diff) | |
download | android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.tar.gz android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.tar.bz2 android_external_e2fsprogs-7b4e4534f9361b21d3fafdd88a58f133decee38c.zip |
Many files:
Added definition of ext2fs_get_mem, ext2fs_free_mem, and
ext2fs_resize_mem in ext2fs.h, and changed all library routines to use
these wrapper functions.
Diffstat (limited to 'lib/ext2fs/rw_bitmaps.c')
-rw-r--r-- | lib/ext2fs/rw_bitmaps.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c index a473d17f..7909fff7 100644 --- a/lib/ext2fs/rw_bitmaps.c +++ b/lib/ext2fs/rw_bitmaps.c @@ -69,9 +69,9 @@ errcode_t ext2fs_write_inode_bitmap(ext2_filsys fs) return 0; nbytes = (size_t) ((EXT2_INODES_PER_GROUP(fs->super)+7) / 8); - bitmap_block = malloc(fs->blocksize); - if (!bitmap_block) - return EXT2_NO_MEMORY; + retval = ext2fs_get_mem(fs->blocksize, (void **) &bitmap_block); + if (retval) + return retval; memset(bitmap_block, 0xff, fs->blocksize); for (i = 0; i < fs->group_desc_count; i++) { memcpy(bitmap_block, inode_bitmap, nbytes); @@ -91,7 +91,7 @@ errcode_t ext2fs_write_inode_bitmap(ext2_filsys fs) } fs->flags |= EXT2_FLAG_CHANGED; fs->flags &= ~EXT2_FLAG_IB_DIRTY; - free(bitmap_block); + ext2fs_free_mem((void **) &bitmap_block); return 0; } @@ -113,9 +113,9 @@ errcode_t ext2fs_write_block_bitmap (ext2_filsys fs) if (!block_bitmap) return 0; nbytes = EXT2_BLOCKS_PER_GROUP(fs->super) / 8; - bitmap_block = malloc(fs->blocksize); - if (!bitmap_block) - return EXT2_NO_MEMORY; + retval = ext2fs_get_mem(fs->blocksize, (void **) &bitmap_block); + if (retval) + return retval; memset(bitmap_block, 0xff, fs->blocksize); for (i = 0; i < fs->group_desc_count; i++) { memcpy(bitmap_block, block_bitmap, nbytes); @@ -144,7 +144,7 @@ errcode_t ext2fs_write_block_bitmap (ext2_filsys fs) } fs->flags |= EXT2_FLAG_CHANGED; fs->flags &= ~EXT2_FLAG_BB_DIRTY; - free(bitmap_block); + ext2fs_free_mem((void **) &bitmap_block); return 0; } @@ -162,7 +162,9 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) fs->write_bitmaps = ext2fs_write_bitmaps; - buf = malloc(strlen(fs->device_name) + 80); + retval = ext2fs_get_mem(strlen(fs->device_name) + 80, (void **) &buf); + if (retval) + return retval; if (do_block) { if (fs->block_map) ext2fs_free_block_bitmap(fs->block_map); @@ -181,7 +183,7 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) goto cleanup; inode_bitmap = fs->inode_map->bitmap; } - free(buf); + ext2fs_free_mem((void **) &buf); for (i = 0; i < fs->group_desc_count; i++) { if (block_bitmap) { @@ -225,15 +227,15 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block) cleanup: if (do_block) { - free(fs->block_map); + ext2fs_free_mem((void **) &fs->block_map); fs->block_map = 0; } if (do_inode) { - free(fs->inode_map); + ext2fs_free_mem((void **) &fs->inode_map); fs->inode_map = 0; } if (buf) - free(buf); + ext2fs_free_mem((void **) &buf); return retval; } |