Added checks for nil pointers in Marshal functions

This commit is contained in:
Antoine Rondelet 2019-05-22 10:03:23 +01:00
parent 2cd6059e51
commit ca32505902

View file

@ -100,6 +100,10 @@ func (e *G1) Marshal() []byte {
// Each value is a 256-bit number. // Each value is a 256-bit number.
const numBytes = 256 / 8 const numBytes = 256 / 8
if e.p == nil {
e.p = &curvePoint{}
}
e.p.MakeAffine() e.p.MakeAffine()
ret := make([]byte, numBytes*2) ret := make([]byte, numBytes*2)
if e.p.IsInfinity() { if e.p.IsInfinity() {
@ -382,6 +386,10 @@ func (e *GT) Marshal() []byte {
// Each value is a 256-bit number. // Each value is a 256-bit number.
const numBytes = 256 / 8 const numBytes = 256 / 8
if e.p == nil {
e.p = &gfP12{}
}
ret := make([]byte, numBytes*12) ret := make([]byte, numBytes*12)
temp := &gfP{} temp := &gfP{}