1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00

Patch/fix ub (#724)

* Fix input validation in storage-manager and bitstring

* Fix potentially dangling pointer missing_library

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
This commit is contained in:
EmelyanenkoK 2023-07-14 15:25:07 +03:00 committed by GitHub
parent 9b34217bf0
commit ef306dd36e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 73 additions and 33 deletions

View file

@ -68,13 +68,23 @@ void TorrentHeader::parse(ParserT &parser) {
parser.set_error("Unknown fec type");
return;
}
name_index.resize(files_count);
for (auto &x : name_index) {
name_index.clear();
for (size_t i = 0; i < files_count; ++i) {
td::uint64 x;
parse(x, parser);
if (parser.get_error()) {
return;
}
name_index.push_back(x);
}
data_index.resize(files_count);
for (auto &x : data_index) {
data_index.clear();
for (size_t i = 0; i < files_count; ++i) {
td::uint64 x;
parse(x, parser);
if (parser.get_error()) {
return;
}
data_index.push_back(x);
}
names = parser.template fetch_string_raw<std::string>(tot_names_size);
}