You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/02/02 16:14:14 UTC

[commons-vfs] 01/02: Fix possible ClassCastException in DefaultFileSystemManager.freeUnusedResources().

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-vfs.git

commit 5eecaa8d158526b5578c3414ca7f2b8e33f9a472
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue Feb 2 11:13:44 2021 -0500

    Fix possible ClassCastException in
    DefaultFileSystemManager.freeUnusedResources().
---
 .../java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java | 6 ++++--
 src/changes/changes.xml                                             | 3 +++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java
index 541cab7..24a3ac6 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java
@@ -62,6 +62,7 @@ import org.apache.commons.vfs2.provider.VfsComponent;
  * The default file system manager implementation.
  */
 public class DefaultFileSystemManager implements FileSystemManager {
+
     /**
      * Mapping from URI scheme to FileProvider.
      */
@@ -597,8 +598,9 @@ public class DefaultFileSystemManager implements FileSystemManager {
 
         // Close the providers.
         for (final FileProvider fileProvider : providers.values()) {
-            final AbstractFileProvider provider = (AbstractFileProvider) fileProvider;
-            provider.freeUnusedResources();
+            if (fileProvider instanceof AbstractFileProvider) {
+                ((AbstractFileProvider) fileProvider).freeUnusedResources();
+            }
         }
         // vfsProvider does not need to free resources
     }
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index f8605ad..33699c3 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -63,6 +63,9 @@ The <action> type attribute can be add,update,fix,remove.
       <action dev="ggregory" due-to="Max Kellermann" type="fix">
         FileContentThreadData: lazy ArrayList initialization to save memory #155.
       </action>
+      <action dev="ggregory" due-to="Gary Gregory" type="fix">
+        Fix possible ClassCastException in DefaultFileSystemManager.freeUnusedResources().
+      </action>
       <!-- ADDS -->
       <action dev="ggregory" due-to="Boris Petrov, Gary Gregory" type="update">
         Add ability to remove a provider from DefaultFileSystemManager #149.