Browse Source

cmd/geth: check block range against chain head in export cmd (#22387)

Check the input parameters against the actual head block, exit on error
Sina Mahmoodi 4 years ago
parent
commit
8d6cc16742
1 changed files with 3 additions and 0 deletions
  1. 3 0
      cmd/geth/chaincmd.go

+ 3 - 0
cmd/geth/chaincmd.go

@@ -322,6 +322,9 @@ func exportChain(ctx *cli.Context) error {
 		if first < 0 || last < 0 {
 			utils.Fatalf("Export error: block number must be greater than 0\n")
 		}
+		if head := chain.CurrentFastBlock(); uint64(last) > head.NumberU64() {
+			utils.Fatalf("Export error: block number %d larger than head block %d\n", uint64(last), head.NumberU64())
+		}
 		err = utils.ExportAppendChain(chain, fp, uint64(first), uint64(last))
 	}