diff --git a/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java b/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java
index ff27caafe0dceaff398fcf2d6a9c50beb7ddbd08..dae35564cad907342e30994720998b546e02d031 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/managers/FileManager.java
@@ -277,13 +277,22 @@ public class FileManager {
     }
 
     public static WildcardInfo wildcard(String path) {
-        if (path == null || !path.contains(ASTERISK) || path.contains("/"))
+        if (path == null || !path.contains(ASTERISK) || path.contains(File.separator)) {
             return null;
+        }
 
-        String beforeDot = path.substring(0, path.lastIndexOf(DOT));
-        String afterDot = path.substring(path.lastIndexOf(DOT) + 1);
+        if(path.trim().equals(ASTERISK)) {
+            return new WildcardInfo(true);
+        }
 
-        return new WildcardInfo(beforeDot, afterDot);
+        int dot = path.lastIndexOf(DOT);
+        try {
+            String beforeDot = path.substring(0, dot);
+            String afterDot = path.substring(dot + 1);
+            return new WildcardInfo(beforeDot, afterDot);
+        } catch (Exception e) {
+            return null;
+        }
     }
 
     public static class DirInfo {
@@ -310,5 +319,12 @@ public class FileManager {
             allNames = name.length() == 0 || name.equals(ASTERISK);
             allExtensions = extension.length() == 0 || extension.equals(ASTERISK);
         }
+
+        public WildcardInfo(boolean all) {
+            if(all) {
+                this.allExtensions = all;
+                this.allNames = all;
+            }
+        }
     }
 }