core: fixed pointer assignment

This fixes an issue where it's theoretical possible to cause a consensus
failure when hitting the lower end of the difficulty, though pratically
impossible it's worth a fix.
This commit is contained in:
Jeffrey Wilcke 2016-05-12 16:58:05 +02:00
parent 39ce85cf5d
commit fe532a98f9

View File

@ -292,7 +292,7 @@ func calcDifficultyHomestead(time, parentTime uint64, parentNumber, parentDiff *
// minimum difficulty can ever be (before exponential factor) // minimum difficulty can ever be (before exponential factor)
if x.Cmp(params.MinimumDifficulty) < 0 { if x.Cmp(params.MinimumDifficulty) < 0 {
x = params.MinimumDifficulty x.Set(params.MinimumDifficulty)
} }
// for the exponential factor // for the exponential factor
@ -325,7 +325,7 @@ func calcDifficultyFrontier(time, parentTime uint64, parentNumber, parentDiff *b
diff.Sub(parentDiff, adjust) diff.Sub(parentDiff, adjust)
} }
if diff.Cmp(params.MinimumDifficulty) < 0 { if diff.Cmp(params.MinimumDifficulty) < 0 {
diff = params.MinimumDifficulty diff.Set(params.MinimumDifficulty)
} }
periodCount := new(big.Int).Add(parentNumber, common.Big1) periodCount := new(big.Int).Add(parentNumber, common.Big1)