crypto/bn256
Sad Pencil 6635ad9975 bn256: fix String methods when g.p == nil
Previously, when g.p == nil, String() crashed. In other method like Add(),
a point with g.p == nil is treated as an identity element.

Besides, the following code is the only way to get an identity element
outside the library: g := bn256.G1{}. In this situation, g.p == nil.

For example, the following code will crash:

package main

import (
	"fmt"
	"golang.org/x/crypto/bn256"
)

func main() {
	g := bn256.G1{}
	fmt.Println(g.String())
}

Change-Id: Ied6f7c8197e7b79b0913c000a9cf1cf68f8188a9
GitHub-Last-Rev: 23246486a9
GitHub-Pull-Request: golang/crypto#75
Reviewed-on: https://go-review.googlesource.com/c/163118
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Run-TryBot: Filippo Valsorda <filippo@golang.org>
2019-02-22 23:45:11 +00:00
..
bn256.go bn256: fix String methods when g.p == nil 2019-02-22 23:45:11 +00:00
bn256_test.go go.crypto/bn256: updates tests in light of b2b2ae1f5140. 2012-12-15 14:19:38 -05:00
constants.go bn256: fix equations in comments 2016-12-06 19:59:59 +00:00
curve.go bn256: explicitly fix MakeAffine for ∞ 2018-05-02 18:48:08 +00:00
example_test.go bn256: add package 2012-07-27 12:54:55 -04:00
gfp2.go bn256: add package 2012-07-27 12:54:55 -04:00
gfp6.go bn256: add package 2012-07-27 12:54:55 -04:00
gfp12.go bn256: fix gfp12 MulScalar 2019-01-02 17:18:10 +00:00
optate.go bn256: add package 2012-07-27 12:54:55 -04:00
twist.go bn256: explicitly fix MakeAffine for ∞ 2018-05-02 18:48:08 +00:00