@@ -115,7 +115,7 @@ func PairingAggregatePkInG1(ctx Pairing, PK *P1Affine, pkValidate bool,
115
115
}
116
116
}
117
117
var umsg * C.byte
118
- if msg != nil {
118
+ if msg != nil && len ( msg ) > 0 {
119
119
umsg = (* C .byte )(& msg [0 ])
120
120
}
121
121
@@ -140,7 +140,7 @@ func PairingAggregatePkInG2(ctx Pairing, PK *P2Affine, pkValidate bool,
140
140
}
141
141
}
142
142
var umsg * C.byte
143
- if msg != nil {
143
+ if msg != nil && len ( msg ) > 0 {
144
144
umsg = (* C .byte )(& msg [0 ])
145
145
}
146
146
@@ -166,7 +166,7 @@ func PairingMulNAggregatePkInG1(ctx Pairing, PK *P1Affine, pkValidate bool,
166
166
}
167
167
}
168
168
var umsg * C.byte
169
- if msg != nil {
169
+ if msg != nil && len ( msg ) > 0 {
170
170
umsg = (* C .byte )(& msg [0 ])
171
171
}
172
172
@@ -193,7 +193,7 @@ func PairingMulNAggregatePkInG2(ctx Pairing, PK *P2Affine, pkValidate bool,
193
193
}
194
194
}
195
195
var umsg * C.byte
196
- if msg != nil {
196
+ if msg != nil && len ( msg ) > 0 {
197
197
umsg = (* C .byte )(& msg [0 ])
198
198
}
199
199
@@ -363,32 +363,33 @@ func (dummy *P2Affine) AggregateVerifyCompressed(sig []byte, sigGroupcheck bool,
363
363
364
364
sigFn := func () * P2Affine {
365
365
sigP := new (P2Affine )
366
- if sig [0 ]& 0x80 == 0 {
366
+ if len ( sig ) == BLST_P2_SERIALIZE_BYTES && ( sig [0 ]& 0x80 ) == 0 {
367
367
// Not compressed
368
368
if sigP .Deserialize (sig ) == nil {
369
369
return nil
370
370
}
371
- } else {
371
+ } else if len ( sig ) == BLST_P2_COMPRESS_BYTES && ( sig [ 0 ] & 0x80 ) != 0 {
372
372
if sigP .Uncompress (sig ) == nil {
373
373
return nil
374
374
}
375
+ } else {
376
+ return nil
375
377
}
376
378
return sigP
377
379
}
378
380
pkFn := func (i uint32 , pk * P1Affine ) (* P1Affine , []byte ) {
379
381
bytes := pks [i ]
380
- if len (bytes ) == 0 {
381
- return nil , nil
382
- }
383
- if bytes [0 ]& 0x80 == 0 {
382
+ if len (bytes ) == BLST_P1_SERIALIZE_BYTES && (bytes [0 ]& 0x80 ) == 0 {
384
383
// Not compressed
385
384
if pk .Deserialize (bytes ) == nil {
386
385
return nil , nil
387
386
}
388
- } else {
387
+ } else if len ( bytes ) == BLST_P1_COMPRESS_BYTES && ( bytes [ 0 ] & 0x80 ) != 0 {
389
388
if pk .Uncompress (bytes ) == nil {
390
389
return nil , nil
391
390
}
391
+ } else {
392
+ return nil , nil
392
393
}
393
394
if usePksAsAugs {
394
395
return pk , bytes
@@ -961,32 +962,33 @@ func (dummy *P1Affine) AggregateVerifyCompressed(sig []byte, sigGroupcheck bool,
961
962
962
963
sigFn := func () * P1Affine {
963
964
sigP := new (P1Affine )
964
- if sig [0 ]& 0x80 == 0 {
965
+ if len ( sig ) == BLST_P1_SERIALIZE_BYTES && ( sig [0 ]& 0x80 ) == 0 {
965
966
// Not compressed
966
967
if sigP .Deserialize (sig ) == nil {
967
968
return nil
968
969
}
969
- } else {
970
+ } else if len ( sig ) == BLST_P1_COMPRESS_BYTES && ( sig [ 0 ] & 0x80 ) != 0 {
970
971
if sigP .Uncompress (sig ) == nil {
971
972
return nil
972
973
}
974
+ } else {
975
+ return nil
973
976
}
974
977
return sigP
975
978
}
976
979
pkFn := func (i uint32 , pk * P2Affine ) (* P2Affine , []byte ) {
977
980
bytes := pks [i ]
978
- if len (bytes ) == 0 {
979
- return nil , nil
980
- }
981
- if bytes [0 ]& 0x80 == 0 {
981
+ if len (bytes ) == BLST_P2_SERIALIZE_BYTES && (bytes [0 ]& 0x80 ) == 0 {
982
982
// Not compressed
983
983
if pk .Deserialize (bytes ) == nil {
984
984
return nil , nil
985
985
}
986
- } else {
986
+ } else if len ( bytes ) == BLST_P2_COMPRESS_BYTES && ( bytes [ 0 ] & 0x80 ) != 0 {
987
987
if pk .Uncompress (bytes ) == nil {
988
988
return nil , nil
989
989
}
990
+ } else {
991
+ return nil , nil
990
992
}
991
993
if usePksAsAugs {
992
994
return pk , bytes
0 commit comments