Very small race condition in file field saving
|Reported by:||mtredinnick||Owned by:||nobody|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Noticed this whilst reading Model._save_FIELD_file() for another reason. The directory name used to save the file can be sensitive to the current datetime value, since upload_to directories can contain format strings. This directory name is computed a couple of times in this function, from what I can work out: once when creating the directories at the top of the function and once when call field.get_filename().
It's possible that the time delay between creating the directory and using the directory lower down could be sufficiently long that the name actually changes. For example, using day-based formats and then clock crosses midnight. The directory name should be the same throughout the code.
Change History (4)
comment:1 Changed 6 years ago by mtredinnick
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
- Triage Stage changed from Unreviewed to Accepted