diff options
author | Bastien Montagne <bastien@blender.org> | 2022-08-02 11:33:29 +0300 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2022-08-02 11:33:29 +0300 |
commit | ddffd1bc9f52eb461f433e355bc8ec2bd5dc148f (patch) | |
tree | b853c102789dc50147827b27d030947e63b2e0c0 /source/blender/windowmanager/intern/wm_files_link.c | |
parent | bc9d461ab0e178c45f681ee4154b97e94fa45156 (diff) |
Fix (studio-reported) crash in some rare cases in blendfile read code.
Crash would happen when a linked ID would become missing, that was
'pre-declared' and used only once as a 'weak link' in another library
stored before the one it came from.
In that case, the place-holder generated in read code would be freed in
read_library_clear_weak_links, when handling its 'owner' library, but
since all previous libraries in the list had already been 'lib_linked'
and their filedata (and related libmap) freed, the update of the libmaps
in read_library_clear_weak_links would not apply to data from those
previous libraries, leading to ID pointers there pointing to freed
memory.
This fix should also be backported to 2.93.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_files_link.c')
0 files changed, 0 insertions, 0 deletions