diff --git a/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc b/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc index 6215c6ec7..dd929b54d 100644 --- a/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc +++ b/repos/dde_rump/src/lib/vfs/rump/vfs_rump.cc @@ -527,11 +527,11 @@ class Vfs::Rump_file_system : public File_system void close(Vfs_handle *vfs_handle) override { - Rump_vfs_file_handle *rump_handle = - static_cast(vfs_handle); - - if (rump_handle) - destroy(vfs_handle->alloc(), rump_handle); + if (dynamic_cast(vfs_handle) + || dynamic_cast(vfs_handle)) { + destroy(vfs_handle->alloc(), vfs_handle); + return; + } } Stat_result stat(char const *path, Stat &stat)