mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Throw if calling the identity precompile (memoryCopy) failed
This commit is contained in:
parent
3a01a87afe
commit
86d54c02cd
@ -5,6 +5,7 @@ Features:
|
|||||||
* Optimizer: Some dead code elimination.
|
* Optimizer: Some dead code elimination.
|
||||||
|
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
* Code generator: throw if calling the identity precompile failed during memory (array) copying.
|
||||||
* Type checker: string literals that are not valid UTF-8 cannot be converted to string type
|
* Type checker: string literals that are not valid UTF-8 cannot be converted to string type
|
||||||
|
|
||||||
### 0.4.6 (2016-11-22)
|
### 0.4.6 (2016-11-22)
|
||||||
|
@ -312,7 +312,8 @@ void CompilerUtils::memoryCopy()
|
|||||||
m_context << Instruction::DIV << u256(c_identityWordGas) << Instruction::MUL;
|
m_context << Instruction::DIV << u256(c_identityWordGas) << Instruction::MUL;
|
||||||
m_context << u256(c_identityGas) << Instruction::ADD;
|
m_context << u256(c_identityGas) << Instruction::ADD;
|
||||||
m_context << Instruction::CALL;
|
m_context << Instruction::CALL;
|
||||||
m_context << Instruction::POP; // ignore return value
|
m_context << Instruction::ISZERO;
|
||||||
|
m_context.appendConditionalJumpTo(m_context.errorTag());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CompilerUtils::splitExternalFunctionType(bool _leftAligned)
|
void CompilerUtils::splitExternalFunctionType(bool _leftAligned)
|
||||||
|
Loading…
Reference in New Issue
Block a user