diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-09-07 15:13:28 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-09-07 15:15:12 +0300 |
commit | f4d46916fab002cefea632dad685e6beb5b4a427 (patch) | |
tree | 75ba573d1381fdc34815971ac39400121beb6bbf /source/blender/editors/interface/interface_ops.c | |
parent | 3f8aaec6bd98cbdf6d42591027f1d905f8b6a8f9 (diff) |
UI: fix memory leak when copy-to-selected failed
Diffstat (limited to 'source/blender/editors/interface/interface_ops.c')
-rw-r--r-- | source/blender/editors/interface/interface_ops.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c index 580ad025086..ce3cf24f292 100644 --- a/source/blender/editors/interface/interface_ops.c +++ b/source/blender/editors/interface/interface_ops.c @@ -497,10 +497,11 @@ static bool copy_to_selected_button(bContext *C, bool all, bool poll) char *path = NULL; bool use_path_from_id; CollectionPointerLink *link; - ListBase lb; + ListBase lb = {NULL}; - if (!UI_context_copy_to_selected_list(C, &ptr, prop, &lb, &use_path_from_id, &path)) - return success; + if (!UI_context_copy_to_selected_list(C, &ptr, prop, &lb, &use_path_from_id, &path)) { + goto finally; + } for (link = lb.first; link; link = link->next) { if (link->ptr.data != ptr.data) { @@ -542,6 +543,7 @@ static bool copy_to_selected_button(bContext *C, bool all, bool poll) } } +finally: MEM_SAFE_FREE(path); BLI_freelistN(&lb); } |