fs: ext4: fix symlink read function
The function ext4fs_read_symlink was unable to handle a symlink which had target name of exactly 60 characters. Signed-off-by: Ronald Zachariah <rozachar@cisco.com> Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Stephen Warren <swarren@nvidia.com> Cc: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
b525556e63
commit
37f23885e4
|
@ -2040,7 +2040,7 @@ static char *ext4fs_read_symlink(struct ext2fs_node *node)
|
||||||
if (!symlink)
|
if (!symlink)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (__le32_to_cpu(diro->inode.size) <= 60) {
|
if (__le32_to_cpu(diro->inode.size) < sizeof(diro->inode.b.symlink)) {
|
||||||
strncpy(symlink, diro->inode.b.symlink,
|
strncpy(symlink, diro->inode.b.symlink,
|
||||||
__le32_to_cpu(diro->inode.size));
|
__le32_to_cpu(diro->inode.size));
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue