From 3c9a2c752fcc1d85d1e026ac498b2e092725db61 Mon Sep 17 00:00:00 2001
From: Bas van Kervel <bas@ethdev.com>
Date: Fri, 18 Dec 2015 15:23:43 +0100
Subject: console: bugfix that causes the console to crash when connection to
 an endpoint without the personal api enabled

---
 cmd/geth/js.go | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/cmd/geth/js.go b/cmd/geth/js.go
index 56b7a8b00..9329eaa0e 100644
--- a/cmd/geth/js.go
+++ b/cmd/geth/js.go
@@ -341,11 +341,12 @@ func (js *jsre) apiBindings(f xeth.Frontend) error {
 	// Override the unlockAccount and newAccount methods on the personal object since these require user interaction.
 	// Assign the jeth.unlockAccount and jeth.newAccount in the jsre the original web3 callbacks. These will be called
 	// by the jeth.* methods after they got the password from the user and send the original web3 request to the backend.
-	persObj := p.Object()
-	js.re.Run(`jeth.unlockAccount = personal.unlockAccount;`)
-	persObj.Set("unlockAccount", jeth.UnlockAccount)
-	js.re.Run(`jeth.newAccount = personal.newAccount;`)
-	persObj.Set("newAccount", jeth.NewAccount)
+	if persObj := p.Object(); persObj != nil { // make sure the personal api is enabled over the interface
+		js.re.Run(`jeth.unlockAccount = personal.unlockAccount;`)
+		persObj.Set("unlockAccount", jeth.UnlockAccount)
+		js.re.Run(`jeth.newAccount = personal.newAccount;`)
+		persObj.Set("newAccount", jeth.NewAccount)
+	}
 
 	return nil
 }
-- 
cgit v1.2.3