From 9138955ba534ec074ecf55c4d02e2f3e72b29faa Mon Sep 17 00:00:00 2001
From: Gustav Simonsson <gustav.simonsson@gmail.com>
Date: Thu, 28 May 2015 15:20:05 +0200
Subject: Validate account length and avoid slicing in logging

---
 cmd/geth/main.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'cmd')

diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index eecd7546a..f82a121e7 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -340,13 +340,13 @@ func unlockAccount(ctx *cli.Context, am *accounts.Manager, account string) (pass
 	var err error
 	// Load startup keys. XXX we are going to need a different format
 
-	if len(account) == 0 {
+	if !((len(account) == 40) || (len(account) == 42)) { // with or without 0x
 		utils.Fatalf("Invalid account address '%s'", account)
 	}
 	// Attempt to unlock the account 3 times
 	attempts := 3
 	for tries := 0; tries < attempts; tries++ {
-		msg := fmt.Sprintf("Unlocking account %s...%s | Attempt %d/%d", account[:8], account[len(account)-6:], tries+1, attempts)
+		msg := fmt.Sprintf("Unlocking account %s | Attempt %d/%d", account, tries+1, attempts)
 		passphrase = getPassPhrase(ctx, msg, false)
 		err = am.Unlock(common.HexToAddress(account), passphrase)
 		if err == nil {
-- 
cgit v1.2.3