From 81796bc0b38a9a6567d560e7a4982329573fdd97 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sun, 8 Feb 2009 16:00:46 +0000 Subject: [PATCH] Don't leak memory when aborting operations due to read-only volume. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29165 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/tracker/PoseView.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/kits/tracker/PoseView.cpp b/src/kits/tracker/PoseView.cpp index cd891eaab2..b097b03bb4 100644 --- a/src/kits/tracker/PoseView.cpp +++ b/src/kits/tracker/PoseView.cpp @@ -5377,13 +5377,19 @@ BPoseView::MoveSelectionOrEntryToTrash(const entry_ref *ref, bool selectNext) std::map deviceHasTrash; if (ref) { - if (!CheckVolumeReadOnly(ref)) + if (!CheckVolumeReadOnly(ref)) { + delete entriesToTrash; + delete entriesToDeleteOnTheSpot; return; + } CopyOneTrashedRefAsEntry(ref, entriesToTrash, entriesToDeleteOnTheSpot, &deviceHasTrash); } else { - if (!CheckVolumeReadOnly(fSelectionList->ItemAt(0)->TargetModel()->EntryRef())) + if (!CheckVolumeReadOnly(fSelectionList->ItemAt(0)->TargetModel()->EntryRef())) { + delete entriesToTrash; + delete entriesToDeleteOnTheSpot; return; + } EachListItem(fSelectionList, CopyPoseOneAsEntry, entriesToTrash, entriesToDeleteOnTheSpot, &deviceHasTrash); }