mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Cause failing assertion for invalid u256 to bool conversion.
This commit is contained in:
		
							parent
							
								
									db33ff6408
								
							
						
					
					
						commit
						2bcdb24ebe
					
				| @ -266,10 +266,15 @@ EVMDialectTyped::EVMDialectTyped(langutil::EVMVersion _evmVersion, bool _objectA | ||||
| 		BuiltinContext&, | ||||
| 		std::function<void()> _visitArguments | ||||
| 	) { | ||||
| 		// TODO Should a value larger than 1 be invalid?
 | ||||
| 		// A value larger than 1 causes an invalid instruction.
 | ||||
| 		_visitArguments(); | ||||
| 		_assembly.appendInstruction(evmasm::Instruction::ISZERO); | ||||
| 		_assembly.appendInstruction(evmasm::Instruction::ISZERO); | ||||
| 		_assembly.appendConstant(2); | ||||
| 		_assembly.appendInstruction(evmasm::Instruction::DUP2); | ||||
| 		_assembly.appendInstruction(evmasm::Instruction::LT); | ||||
| 		AbstractAssembly::LabelID inRange = _assembly.newLabelId(); | ||||
| 		_assembly.appendJumpToIf(inRange); | ||||
| 		_assembly.appendInstruction(evmasm::Instruction::INVALID); | ||||
| 		_assembly.appendLabel(inRange); | ||||
| 	})); | ||||
| 	m_functions["u256_to_bool"_yulstring].returns = {"bool"_yulstring}; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user