From: Jan Kara Date: Mon, 30 Mar 2020 09:09:31 +0000 (+0200) Subject: ext2fs: fix error checking in dx_link() X-Git-Tag: v1.46.0~59 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=cceebf4ece9fe75fac685f49c090211be390f083;p=tools%2Fe2fsprogs.git ext2fs: fix error checking in dx_link() dx_lookup() uses errcode_t return values. As such anything non-zero is an error, not values less than zero. Fix the error checking to avoid crashes on corrupted filesystems. Signed-off-by: Jan Kara Reviewed-by: Lukas Czerner Signed-off-by: Theodore Ts'o --- diff --git a/lib/ext2fs/link.c b/lib/ext2fs/link.c index 6f523ae..7b5bb02 100644 --- a/lib/ext2fs/link.c +++ b/lib/ext2fs/link.c @@ -571,7 +571,7 @@ static errcode_t dx_link(ext2_filsys fs, ext2_ino_t dir, dx_info.namelen = strlen(name); again: retval = dx_lookup(fs, dir, diri, &dx_info); - if (retval < 0) + if (retval) goto free_buf; retval = add_dirent_to_buf(fs,