aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ext2fs/namei.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ext2fs/namei.c')
-rw-r--r--lib/ext2fs/namei.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/lib/ext2fs/namei.c b/lib/ext2fs/namei.c
index 9b718fed..576a99fb 100644
--- a/lib/ext2fs/namei.c
+++ b/lib/ext2fs/namei.c
@@ -50,12 +50,12 @@ static errcode_t follow_link(ext2_filsys fs, ino_t root, ino_t dir,
return EXT2_ET_SYMLINK_LOOP;
}
if (ei.i_blocks) {
- buffer = malloc (fs->blocksize);
- if (!buffer)
- return EXT2_NO_MEMORY;
+ retval = ext2fs_get_mem(fs->blocksize, (void **) &buffer);
+ if (retval)
+ return retval;
retval = io_channel_read_blk(fs->io, ei.i_block[0], 1, buffer);
if (retval) {
- free(buffer);
+ ext2fs_free_mem((void **) &buffer);
return retval;
}
pathname = buffer;
@@ -64,7 +64,7 @@ static errcode_t follow_link(ext2_filsys fs, ino_t root, ino_t dir,
retval = open_namei(fs, root, dir, pathname, ei.i_size, 1,
link_count, buf, res_inode);
if (buffer)
- free (buffer);
+ ext2fs_free_mem((void **) &buffer);
return retval;
}
@@ -156,14 +156,14 @@ errcode_t ext2fs_namei(ext2_filsys fs, ino_t root, ino_t cwd,
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
- buf = malloc(fs->blocksize);
- if (!buf)
- return EXT2_NO_MEMORY;
+ retval = ext2fs_get_mem(fs->blocksize, (void **) &buf);
+ if (retval)
+ return retval;
retval = open_namei(fs, root, cwd, name, strlen(name), 0, 0,
buf, inode);
- free(buf);
+ ext2fs_free_mem((void **) &buf);
return retval;
}
@@ -175,14 +175,14 @@ errcode_t ext2fs_namei_follow(ext2_filsys fs, ino_t root, ino_t cwd,
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
- buf = malloc(fs->blocksize);
- if (!buf)
- return EXT2_NO_MEMORY;
+ retval = ext2fs_get_mem(fs->blocksize, (void **) &buf);
+ if (retval)
+ return retval;
retval = open_namei(fs, root, cwd, name, strlen(name), 1, 0,
buf, inode);
- free(buf);
+ ext2fs_free_mem((void **) &buf);
return retval;
}
@@ -194,13 +194,13 @@ extern errcode_t ext2fs_follow_link(ext2_filsys fs, ino_t root, ino_t cwd,
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
- buf = malloc(fs->blocksize);
- if (!buf)
- return EXT2_NO_MEMORY;
-
+ retval = ext2fs_get_mem(fs->blocksize, (void **) &buf);
+ if (retval)
+ return retval;
+
retval = follow_link(fs, root, cwd, inode, 0, buf, res_inode);
- free(buf);
+ ext2fs_free_mem((void **) &buf);
return retval;
}