message: Fix error in PE TLS parser
diff: @@ -388,6 +388,8 @@ void Parser::parse_tls(void) {
  const uint64_t imagebase = this->binary_->optional_header().imagebase();
  +
  + if (tls_header->RawDataStartVA > 0 and tls_header->RawDataEndVA > tls_header->RawDataStartVA) {
  const uint64_t start_data_rva = tls_header->RawDataStartVA - imagebase;
  const uint64_t stop_data_rva = tls_header->RawDataEndVA - imagebase;
  @@ -410,9 +412,10 @@ void Parser::parse_tls(void) {
  }
  } catch (const read_out_of_bound&) {
  - throw corrupted("TLS corrupted (data template)");
  + LOG(WARNING) << "TLS corrupted (data template)";
  } catch (const std::bad_alloc&) {
  - throw corrupted("TLS corrupted (data template)");
  + LOG(WARNING) << "TLS corrupted (data template)";
  + }
  }
  uint64_t callbacks_offset = this->binary_->rva_to_offset(tls.addressof_callbacks() - imagebase);
  @@ -420,7 +423,7 @@ void Parser::parse_tls(void) {
  callbacks_offset += sizeof(uint__);
  size_t count = 0;
  - while (callback_rva > 0 and count < Parser::MAX_TLS_CALLBACKS) {
  + while (static_cast<uint32_t>(callback_rva) > 0 and count < Parser::MAX_TLS_CALLBACKS) {
  tls.callbacks_.push_back(static_cast<uint64_t>(callback_rva));
  callback_rva = this->stream_->read_integer<uint__>(callbacks_offset);
  callbacks_offset += sizeof(uint__);
  