File corruption if stream contains vector properties



Hi

I’m opening an existing stream with existing Vector properties.

Then I try to remove and insert some properties.

As I commit (‘gsf_doc_meta_data_write_to_msole’) the file structure gets corrupted.

Is this a known issue?

 

Here is the relevant cpde:

for (const auto& key : keysToRemove) {

    gsf_doc_meta_data_remove(mDocumentSummaryInformation.get(), key.c_str());

  }

 

  for (const auto& property : propertiesToAdd) {

    const auto& name = property.second->GetGsfName();

    UniqueGvalue gvalue = property.second->GetGsfValue();

 

    gsf_doc_meta_data_insert(mDocumentSummaryInformation.get(), g_strdup(name.c_str()), gvalue.release());

  }

 

  const bool doc_not_component = type != OlePropertyStorageType::SUMMARY_INFO;

  const auto rc = gsf_doc_meta_data_write_to_msole(mDocumentSummaryInformation.get(), out, doc_not_component);

  MIPLOG(TRACE) << "Write metadata rc=" << rc;

 

Thank you



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]