File corruption if stream contains vector properties

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

File corruption if stream contains vector properties

GnuMeric mailing list

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


_______________________________________________
gnumeric-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gnumeric-list
Reply | Threaded
Open this post in threaded view
|

Re: File corruption if stream contains vector properties

Morten Welinder-2
Please file a bug at https://gitlab.gnome.org/GNOME/libgsf/issues

Attaching a complete sample program and the corrupted stream you get
would be helpful.

Morten
_______________________________________________
gnumeric-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gnumeric-list