Commit: 7412f30930945de03fa621cf3c2b5bfdfc46311b
Author: Sergey Sharybin
Date:   Thu Feb 21 10:52:03 2019 +0100
Branches: master
https://developer.blender.org/rB7412f30930945de03fa621cf3c2b5bfdfc46311b

Clip: Check memory allocation during prefetch

Aimed to make prefetching more stable for cases when
it causes Blender to run out of memory.

===================================================================

M       source/blender/editors/space_clip/clip_editor.c

===================================================================

diff --git a/source/blender/editors/space_clip/clip_editor.c 
b/source/blender/editors/space_clip/clip_editor.c
index 5e161300dcc..f6959dd593c 100644
--- a/source/blender/editors/space_clip/clip_editor.c
+++ b/source/blender/editors/space_clip/clip_editor.c
@@ -640,29 +640,29 @@ static unsigned char *prefetch_read_file_to_memory(
         size_t *r_size)
 {
        MovieClipUser user = {0};
-       char name[FILE_MAX];
-       size_t size;
-       int file;
-       unsigned char *mem;
-
        user.framenr = current_frame;
        user.render_size = render_size;
        user.render_flag = render_flag;
 
+       char name[FILE_MAX];
        BKE_movieclip_filename_for_frame(clip, &user, name);
 
-       file = BLI_open(name, O_BINARY | O_RDONLY, 0);
+       int file = BLI_open(name, O_BINARY | O_RDONLY, 0);
        if (file == -1) {
                return NULL;
        }
 
-       size = BLI_file_descriptor_size(file);
+       const size_t size = BLI_file_descriptor_size(file);
        if (size < 1) {
                close(file);
                return NULL;
        }
 
-       mem = MEM_mallocN(size, "movieclip prefetch memory file");
+       unsigned char *mem = MEM_mallocN(size, "movieclip prefetch memory 
file");
+       if (mem == NULL) {
+               close(file);
+               return NULL;
+       }
 
        if (read(file, mem, size) != size) {
                close(file);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to