]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
debugfs: fix various minor bogosity
authorDarrick J. Wong <darrick.wong@oracle.com>
Thu, 12 Dec 2013 17:43:36 +0000 (12:43 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 12 Dec 2013 17:43:39 +0000 (12:43 -0500)
We should really use the ext2fs memory allocator functions in
copy_file(), and we really should return a value if there's allocation
problems.

Also fix up a minor bogosity in an error message.

Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Cc: Robert Yang <liezhi.yang@windriver.com>
Cc: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
debugfs/debugfs.c

index f8701290c0706823cbee7bdcf61d115552f64f34..ca0570ac5a549be5d7c0708819fb8641bfdc9a3b 100644 (file)
@@ -1590,16 +1590,17 @@ static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int make_hol
        if (retval)
                return retval;
 
-       if (!(buf = (char *) malloc(bufsize))){
-               com_err("copy_file", errno, "can't allocate buffer\n");
-               return;
+       retval = ext2fs_get_mem(bufsize, &buf);
+       if (retval) {
+               com_err("copy_file", retval, "can't allocate buffer\n");
+               return retval;
        }
 
        /* This is used for checking whether the whole block is zero */
        retval = ext2fs_get_memzero(bufsize, &zero_buf);
        if (retval) {
                com_err("copy_file", retval, "can't allocate buffer\n");
-               free(buf);
+               ext2fs_free_mem(&buf);
                return retval;
        }
 
@@ -1637,13 +1638,13 @@ static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int make_hol
                        ptr += written;
                }
        }
-       free(buf);
+       ext2fs_free_mem(&buf);
        ext2fs_free_mem(&zero_buf);
        retval = ext2fs_file_close(e2_file);
        return retval;
 
 fail:
-       free(buf);
+       ext2fs_free_mem(&buf);
        ext2fs_free_mem(&zero_buf);
        (void) ext2fs_file_close(e2_file);
        return retval;
@@ -2101,7 +2102,7 @@ void do_bmap(int argc, char *argv[])
 
        errcode = ext2fs_bmap2(current_fs, ino, 0, 0, 0, blk, 0, &pblk);
        if (errcode) {
-               com_err("argv[0]", errcode,
+               com_err(argv[0], errcode,
                        "while mapping logical block %llu\n", blk);
                return;
        }