Sharedstringtable

Same strings in shared stringtable makes it not possible to open a xlsx file.
This commit is contained in:
Johann1994 2019-12-18 13:50:34 +01:00 committed by GitHub
parent f30260153f
commit 49663bc483
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1374,9 +1374,18 @@ std::size_t workbook::add_shared_string(const rich_text &shared, bool allow_dupl
}
}
auto sz = d_->shared_strings_ids_.size();
d_->shared_strings_ids_[shared] = sz;
//it can happen that similar strings are more then onetime in the shared stringtable (Excel bugfix?)
//shared_strings_values map should start on position 0
auto sz = d_->shared_strings_values_.size();
if (d_->shared_strings_values_.count(sz) > 0)
{
// something went wrong!
throw invalid_file("Error in shared string table!");
}
d_->shared_strings_values_[sz] = shared;
d_->shared_strings_ids_[shared] = sz;
return sz;
}