From ae71da1b03c6eee82b714ef81b4fc59bcc130bb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= <peterke@gmail.com>
Date: Thu, 4 Jan 2018 13:58:11 +0200
Subject: [PATCH] eth: fix tracer panic when running without configs + reexec
 (#15799)

---
 eth/api_tracer.go | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/eth/api_tracer.go b/eth/api_tracer.go
index 0d0e2a73c..d49f077ae 100644
--- a/eth/api_tracer.go
+++ b/eth/api_tracer.go
@@ -204,7 +204,7 @@ func (api *PrivateDebugAPI) traceChain(ctx context.Context, start, end *types.Bl
 	if err != nil {
 		// If the starting state is missing, allow some number of blocks to be reexecuted
 		reexec := defaultTraceReexec
-		if config.Reexec != nil {
+		if config != nil && config.Reexec != nil {
 			reexec = *config.Reexec
 		}
 		// Find the most recent block that has the state available
@@ -465,7 +465,7 @@ func (api *PrivateDebugAPI) traceBlock(ctx context.Context, block *types.Block,
 		return nil, fmt.Errorf("parent %x not found", block.ParentHash())
 	}
 	reexec := defaultTraceReexec
-	if config.Reexec != nil {
+	if config != nil && config.Reexec != nil {
 		reexec = *config.Reexec
 	}
 	statedb, err := api.computeStateDB(parent, reexec)
@@ -619,7 +619,7 @@ func (api *PrivateDebugAPI) TraceTransaction(ctx context.Context, hash common.Ha
 		return nil, fmt.Errorf("transaction %x not found", hash)
 	}
 	reexec := defaultTraceReexec
-	if config.Reexec != nil {
+	if config != nil && config.Reexec != nil {
 		reexec = *config.Reexec
 	}
 	msg, vmctx, statedb, err := api.computeTxEnv(blockHash, int(index), reexec)
-- 
GitLab