f2fs: handle errors from get_node_page calls
authorJason Hrycay <jhrycay@gmail.com>
Fri, 31 May 2013 17:45:11 +0000 (12:45 -0500)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 3 Jun 2013 10:49:09 +0000 (19:49 +0900)
Add check for error pointers returned from get_node_page in order to
avoid dereferencing a bad address on the next use.

Signed-off-by: Jason Hrycay <jason.hrycay@motorola.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/xattr.c

index 0b02dce..ae61f35 100644 (file)
@@ -218,6 +218,8 @@ int f2fs_getxattr(struct inode *inode, int name_index, const char *name,
                return -ENODATA;
 
        page = get_node_page(sbi, fi->i_xattr_nid);
+       if (IS_ERR(page))
+               return PTR_ERR(page);
        base_addr = page_address(page);
 
        list_for_each_xattr(entry, base_addr) {
@@ -268,6 +270,8 @@ ssize_t f2fs_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size)
                return 0;
 
        page = get_node_page(sbi, fi->i_xattr_nid);
+       if (IS_ERR(page))
+               return PTR_ERR(page);
        base_addr = page_address(page);
 
        list_for_each_xattr(entry, base_addr) {