fix panic on bad sender
This commit is contained in:
		
							parent
							
								
									8cf9ed0ea5
								
							
						
					
					
						commit
						7c24cd790d
					
				| @ -116,7 +116,11 @@ func (pool *TxPool) ValidateTransaction(tx *types.Transaction) error { | ||||
| 
 | ||||
| 	// Get the sender
 | ||||
| 	//sender := pool.Ethereum.BlockManager().procState.GetAccount(tx.Sender())
 | ||||
| 	sender := pool.Ethereum.BlockManager().CurrentState().GetAccount(tx.Sender()) | ||||
| 	senderAddr := tx.Sender() | ||||
| 	if senderAddr == nil { | ||||
| 		return fmt.Errorf("Invalid sender") | ||||
| 	} | ||||
| 	sender := pool.Ethereum.BlockManager().CurrentState().GetAccount(senderAddr) | ||||
| 
 | ||||
| 	totAmount := new(big.Int).Set(tx.Value) | ||||
| 	// Make sure there's enough in the sender's account. Having insufficient
 | ||||
|  | ||||
| @ -116,7 +116,7 @@ func (tx *Transaction) Sender() []byte { | ||||
| 
 | ||||
| 	// Validate the returned key.
 | ||||
| 	// Return nil if public key isn't in full format
 | ||||
| 	if len(pubkey) != 0 && pubkey[0] != 4 { | ||||
| 	if len(pubkey) == 0 || pubkey[0] != 4 { | ||||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user