From e8e9d222a91265eb412036d96b758e2556d5fd23 Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Sun, 25 Jun 2023 14:08:50 +0300 Subject: [PATCH] (tar_skip_member): fix NULL dereference. Found by Coverity. Coverity id #462418. Signed-off-by: Andrew Borodin --- src/vfs/tar/tar.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/vfs/tar/tar.c b/src/vfs/tar/tar.c index 9c7451674..c411e31d3 100644 --- a/src/vfs/tar/tar.c +++ b/src/vfs/tar/tar.c @@ -293,11 +293,14 @@ tar_skip_member (tar_super_t * archive, struct vfs_s_inode *inode) (void) tar_sparse_skip_file (archive, ¤t_stat_info); - /* use vfs_s_inode::user_data to keep the sparse map */ - inode->user_data = current_stat_info.sparse_map; - current_stat_info.sparse_map = NULL; + if (inode != NULL) + { + /* use vfs_s_inode::user_data to keep the sparse map */ + inode->user_data = current_stat_info.sparse_map; + current_stat_info.sparse_map = NULL; - tar_calc_sparse_offsets (inode); + tar_calc_sparse_offsets (inode); + } } else if (save_typeflag != DIRTYPE) {