Added regex syntax checks before starting search
This commit is contained in:
@@ -9,6 +9,7 @@ import java.io.IOException;
|
|||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.regex.PatternSyntaxException;
|
||||||
import java.util.zip.GZIPInputStream;
|
import java.util.zip.GZIPInputStream;
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@@ -63,7 +64,17 @@ public class LogHandler extends Thread
|
|||||||
if (!regex.endsWith("$"))
|
if (!regex.endsWith("$"))
|
||||||
regex += ".*$";
|
regex += ".*$";
|
||||||
File logFolder = Logs.getLogsDir();
|
File logFolder = Logs.getLogsDir();
|
||||||
Pattern fileNamePattern = Pattern.compile(fileName);
|
Pattern fileNamePattern;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fileNamePattern = Pattern.compile(fileName);
|
||||||
|
}
|
||||||
|
catch (PatternSyntaxException e)
|
||||||
|
{
|
||||||
|
Logs.logger.message(sender, true, "An error occured trying to compile the filename pattern!");
|
||||||
|
stillSearching.remove(sender);
|
||||||
|
return;
|
||||||
|
}
|
||||||
File[] files = logFolder.listFiles(new FilenameFilter()
|
File[] files = logFolder.listFiles(new FilenameFilter()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@@ -83,7 +94,17 @@ public class LogHandler extends Thread
|
|||||||
Logs.logger.message(sender, "A total of &e" + totalFiles + "&7 files will be searched!");
|
Logs.logger.message(sender, "A total of &e" + totalFiles + "&7 files will be searched!");
|
||||||
|
|
||||||
boolean progress = (boolean) DataManager.getOrDefault(Utils.getID(sender), "Logs", "progress", true);
|
boolean progress = (boolean) DataManager.getOrDefault(Utils.getID(sender), "Logs", "progress", true);
|
||||||
Pattern searchPattern = Pattern.compile(regex);
|
Pattern searchPattern;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
searchPattern = Pattern.compile(regex);
|
||||||
|
}
|
||||||
|
catch (PatternSyntaxException e)
|
||||||
|
{
|
||||||
|
Logs.logger.message(sender, true, "An error occured trying to compile the search pattern!");
|
||||||
|
stillSearching.remove(sender);
|
||||||
|
return;
|
||||||
|
}
|
||||||
for (File file : files)
|
for (File file : files)
|
||||||
{
|
{
|
||||||
if (file.getName().endsWith(".gz"))
|
if (file.getName().endsWith(".gz"))
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import com.redstoner.modules.ModuleLogger;
|
|||||||
import com.redstoner.modules.datamanager.DataManager;
|
import com.redstoner.modules.datamanager.DataManager;
|
||||||
|
|
||||||
@Commands(CommandHolderType.File)
|
@Commands(CommandHolderType.File)
|
||||||
@Version(major = 4, minor = 0, revision = 3, compatible = 4)
|
@Version(major = 4, minor = 0, revision = 4, compatible = 4)
|
||||||
public class Logs implements Module
|
public class Logs implements Module
|
||||||
{
|
{
|
||||||
public static final String defaultFormat = "§7 > %f: %r";
|
public static final String defaultFormat = "§7 > %f: %r";
|
||||||
|
|||||||
Reference in New Issue
Block a user