Skip to content

Commit

Permalink
Fix UB in blst aggregate verify (ton-blockchain#1107)
Browse files Browse the repository at this point in the history
  • Loading branch information
SpyCheese authored and ice-charon committed Sep 26, 2024
1 parent ba9eefb commit 106f759
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion crypto/vm/bls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,13 @@ bool aggregate_verify(const std::vector<std::pair<P1, td::BufferSlice>> &pubs_ms
return false;
}
std::unique_ptr<blst::Pairing> pairing = std::make_unique<blst::Pairing>(true, DST);
blst::P2_Affine p2_zero;
for (const auto &p : pubs_msgs) {
blst::P1_Affine p1(p.first.data(), P1_SIZE);
if (!p1.in_group() || p1.is_inf()) {
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();
blst::P2_Affine p2(sig.data(), P2_SIZE);
Expand Down

0 comments on commit 106f759

Please sign in to comment.