Ticket #2668 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

passing path to checkout to update() causes data file to be destroyed

Reported by: sascha_silbe Owned by: sascha_silbe
Priority: Unspecified by Maintainer Milestone: 0.92
Component: sugar-datastore Version: Git as of bugdate
Severity: Critical Keywords: 11.2.0
Cc: Distribution/OS: OLPC
Bug Status: Assigned

Description

If we call datastore.get() and pass the file name back into datastore.update() for the same entry with transfer_ownership set to False, the data file will get destroyed.
This is because source and destination file are identical (hard links) and we overwrite the destination file in AsyncCopy.start() without unlinking it first.

Change History

Changed 2 years ago by erikos

Testcase:

- open Record and take a photo

- switch to the Journal and wait for the picture entry to appear

- go back to Record

- rename the photo

- close Record

- open the photo in Imageviewer / open the Record session and show the picture

Changed 2 years ago by erikos

  • keywords 11.2.0 added
  • distribution set to OLPC

Changed 2 years ago by erikos

  • status changed from new to closed
  • resolution set to fixed

Did land, closing. QA happens on  http://dev.laptop.org/ticket/10957

Note: See TracTickets for help on using tickets.