diff --git a/actuator/src/main/java/org/tron/core/actuator/VMActuator.java b/actuator/src/main/java/org/tron/core/actuator/VMActuator.java index 78616e01c2a..75e96145602 100644 --- a/actuator/src/main/java/org/tron/core/actuator/VMActuator.java +++ b/actuator/src/main/java/org/tron/core/actuator/VMActuator.java @@ -179,7 +179,7 @@ public void execute(Object object) throws ContractExeException { result.setException(Program.Exception.invalidCodeException()); } } - long saveCodeEnergy = (long) getLength(code) * EnergyCost.getCREATE_DATA(); + long saveCodeEnergy = (long) getLength(code) * EnergyCost.getCreateData(); long afterSpend = program.getEnergyLimitLeft().longValue() - saveCodeEnergy; if (afterSpend < 0) { if (null == result.getException()) { diff --git a/actuator/src/main/java/org/tron/core/vm/EnergyCost.java b/actuator/src/main/java/org/tron/core/vm/EnergyCost.java index 66ac474f45c..f4d435e2d70 100644 --- a/actuator/src/main/java/org/tron/core/vm/EnergyCost.java +++ b/actuator/src/main/java/org/tron/core/vm/EnergyCost.java @@ -398,7 +398,7 @@ public static long getNewAcctCall() { return NEW_ACCT_CALL; } - public static long getCREATE_DATA() { + public static long getCreateData() { return CREATE_DATA; } diff --git a/actuator/src/main/java/org/tron/core/vm/OperationActions.java b/actuator/src/main/java/org/tron/core/vm/OperationActions.java index 4407bf89dcb..546a9adcc70 100644 --- a/actuator/src/main/java/org/tron/core/vm/OperationActions.java +++ b/actuator/src/main/java/org/tron/core/vm/OperationActions.java @@ -391,10 +391,10 @@ public static void codeCopyAction(Program program) { int codeOffset = program.stackPop().intValueSafe(); int lengthData = program.stackPop().intValueSafe(); - int sizeToBeCopied = - (long) codeOffset + lengthData > fullCode.length - ? (fullCode.length < codeOffset ? 0 : fullCode.length - codeOffset) - : lengthData; + int sizeToBeCopied = lengthData; + if ((long) codeOffset + lengthData > fullCode.length) { + sizeToBeCopied = fullCode.length < codeOffset ? 0 : fullCode.length - codeOffset; + } byte[] codeCopy = new byte[lengthData]; @@ -457,10 +457,10 @@ public static void extCodeCopyAction(Program program) { int codeOffset = program.stackPop().intValueSafe(); int lengthData = program.stackPop().intValueSafe(); - int sizeToBeCopied = - (long) codeOffset + lengthData > fullCode.length - ? (fullCode.length < codeOffset ? 0 : fullCode.length - codeOffset) - : lengthData; + int sizeToBeCopied = lengthData; + if ((long) codeOffset + lengthData > fullCode.length) { + sizeToBeCopied = fullCode.length < codeOffset ? 0 : fullCode.length - codeOffset; + } byte[] codeCopy = new byte[lengthData]; diff --git a/actuator/src/main/java/org/tron/core/vm/program/Program.java b/actuator/src/main/java/org/tron/core/vm/program/Program.java index 7a777a9b040..f1ba7c082fe 100644 --- a/actuator/src/main/java/org/tron/core/vm/program/Program.java +++ b/actuator/src/main/java/org/tron/core/vm/program/Program.java @@ -663,7 +663,7 @@ this, new DataWord(newAddress), getContractAddress(), value, DataWord.ZERO(), .invalidCodeException()); } - long saveCodeEnergy = (long) getLength(code) * EnergyCost.getCREATE_DATA(); + long saveCodeEnergy = (long) getLength(code) * EnergyCost.getCreateData(); long afterSpend = programInvoke.getEnergyLimit() - createResult.getEnergyUsed() - saveCodeEnergy;