diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c index 410419e241bc64f9709e0008bfbb3382eb029c74..727a2f753df391457010925aa237a46330b5cf5f 100644 --- a/fs/ext4/ext4_common.c +++ b/fs/ext4/ext4_common.c @@ -2046,7 +2046,7 @@ static char *ext4fs_read_symlink(struct ext2fs_node *node) status = ext4fs_read_file(diro, 0, __le32_to_cpu(diro->inode.size), symlink, &actread); - if (status == 0) { + if ((status < 0) || (actread == 0)) { free(symlink); return 0; }