From 954ba211bf8ee63872b5e4d20b6aafb4400507c6 Mon Sep 17 00:00:00 2001
From: obscuren <geffobscura@gmail.com>
Date: Sun, 14 Sep 2014 12:02:35 +0200
Subject: [PATCH] Fixed contract validation address in tx pool

---
 ethchain/transaction_pool.go | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ethchain/transaction_pool.go b/ethchain/transaction_pool.go
index bd8b27a6d..9a6322432 100644
--- a/ethchain/transaction_pool.go
+++ b/ethchain/transaction_pool.go
@@ -99,7 +99,7 @@ func (pool *TxPool) ValidateTransaction(tx *Transaction) error {
 		return fmt.Errorf("[TXPL] No last block on the block chain")
 	}
 
-	if len(tx.Recipient) != 20 {
+	if len(tx.Recipient) != 0 && len(tx.Recipient) != 20 {
 		return fmt.Errorf("[TXPL] Invalid recipient. len = %d", len(tx.Recipient))
 	}
 
@@ -148,7 +148,10 @@ out:
 				// Call blocking version.
 				pool.addTransaction(tx)
 
-				txplogger.Debugf("(t) %x => %x (%v) %x\n", tx.Sender()[:4], tx.Recipient[:4], tx.Value, tx.Hash())
+				tmp := make([]byte, 4)
+				copy(tmp, tx.Recipient)
+
+				txplogger.Debugf("(t) %x => %x (%v) %x\n", tx.Sender()[:4], tmp, tx.Value, tx.Hash())
 
 				// Notify the subscribers
 				pool.Ethereum.Reactor().Post("newTx:pre", tx)
-- 
GitLab