mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Fix UB in blst aggregate verify (#1107)
This commit is contained in:
parent
140320b0db
commit
f7e189f272
1 changed files with 2 additions and 1 deletions
|
@ -93,12 +93,13 @@ bool aggregate_verify(const std::vector<std::pair<P1, td::BufferSlice>> &pubs_ms
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
std::unique_ptr<blst::Pairing> pairing = std::make_unique<blst::Pairing>(true, DST);
|
std::unique_ptr<blst::Pairing> pairing = std::make_unique<blst::Pairing>(true, DST);
|
||||||
|
blst::P2_Affine p2_zero;
|
||||||
for (const auto &p : pubs_msgs) {
|
for (const auto &p : pubs_msgs) {
|
||||||
blst::P1_Affine p1(p.first.data(), P1_SIZE);
|
blst::P1_Affine p1(p.first.data(), P1_SIZE);
|
||||||
if (!p1.in_group() || p1.is_inf()) {
|
if (!p1.in_group() || p1.is_inf()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
pairing->aggregate(&p1, nullptr, (const td::uint8 *)p.second.data(), p.second.size());
|
pairing->aggregate(&p1, &p2_zero, (const td::uint8 *)p.second.data(), p.second.size());
|
||||||
}
|
}
|
||||||
pairing->commit();
|
pairing->commit();
|
||||||
blst::P2_Affine p2(sig.data(), P2_SIZE);
|
blst::P2_Affine p2(sig.data(), P2_SIZE);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue