diff --git a/src/libappimage/core/impl/TraversalType2.cpp b/src/libappimage/core/impl/TraversalType2.cpp index 48da55aa..14aa126a 100644 --- a/src/libappimage/core/impl/TraversalType2.cpp +++ b/src/libappimage/core/impl/TraversalType2.cpp @@ -52,6 +52,7 @@ class TraversalType2::Priv { rootInodeId = sqfs_inode_root(&fs); err = sqfs_traverse_open(&trv, &fs, rootInodeId); if (err != SQFS_OK) { + sqfs_fd_close(fs.fd); sqfs_destroy(&fs); throw IOError("sqfs_traverse_open error"); } @@ -60,6 +61,7 @@ class TraversalType2::Priv { virtual ~Priv() { sqfs_traverse_close(&trv); + sqfs_fd_close(fs.fd); sqfs_destroy(&fs); }