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:
parent
9b34217bf0
commit
ef306dd36e
10 changed files with 73 additions and 33 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue