improve detection of nested scripts

This commit is contained in:
Craig Raw 2023-11-08 09:26:12 +02:00
parent 75730f00ac
commit c63b492326

View file

@ -145,7 +145,8 @@ public class ScriptChunk {
}
public boolean isScript() {
if(data == null || data.length == 0) {
//Do not attempt to parse long data byte arrays into scripts
if(data == null || data.length == 0 || data.length > 1000) {
return false;
}
@ -153,18 +154,20 @@ public class ScriptChunk {
return false;
}
Script script = new Script(data, false);
try {
Script script = new Script(data);
//Flaky: Test if contains a non-zero opcode, otherwise not a script
for(ScriptChunk chunk : script.getChunks()) {
if(chunk.getOpcode() != OP_0) {
return true;
}
}
} catch(ProtocolException e) {
script.parse();
} catch (ProtocolException e) {
return false;
}
//Flaky: Test if contains a non-zero opcode, otherwise not a script
for(ScriptChunk chunk : script.getChunks()) {
if(chunk.getOpcode() != OP_0) {
return true;
}
}
return false;
}