[arrayfire] 13/29: Fix memory leak in median

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Mon Oct 19 17:48:53 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch master
in repository arrayfire.

commit 5eaa6307acfd14fc02cfddeb7d8e30f508c5423d
Author: Shehzan Mohammed <shehzan at arrayfire.com>
Date:   Mon Oct 5 18:28:05 2015 -0400

    Fix memory leak in median
---
 src/api/c/median.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/api/c/median.cpp b/src/api/c/median.cpp
index e91425d..f8a9b58 100644
--- a/src/api/c/median.cpp
+++ b/src/api/c/median.cpp
@@ -72,7 +72,8 @@ static af_array median(const af_array& in, const dim_t dim)
     af_seq slices[4] = {af_span, af_span, af_span, af_span};
     slices[dim] = af_make_seq(mid-1.0, mid-1.0, 1.0);
 
-    AF_CHECK(af_index(&left, getHandle<T>(sortedIn), input.ndims(), slices));
+    af_array sortedIn_handle = getHandle<T>(sortedIn);
+    AF_CHECK(af_index(&left, sortedIn_handle, input.ndims(), slices));
 
     if (nElems % 2 == 1) {
         // mid-1 is our guy
@@ -82,6 +83,7 @@ static af_array median(const af_array& in, const dim_t dim)
         af_array out;
         AF_CHECK(af_cast(&out, left, f32));
         AF_CHECK(af_release_array(left));
+        AF_CHECK(af_release_array(sortedIn_handle));
         return out;
     } else {
         // ((mid-1)+mid)/2 is our guy
@@ -89,7 +91,7 @@ static af_array median(const af_array& in, const dim_t dim)
         af_array right = 0;
         slices[dim] = af_make_seq(mid, mid, 1.0);
 
-        AF_CHECK(af_index(&right, getHandle<T>(sortedIn), dims.ndims(), slices));
+        AF_CHECK(af_index(&right, sortedIn_handle, dims.ndims(), slices));
 
         af_array sumarr = 0;
         af_array carr   = 0;
@@ -115,6 +117,7 @@ static af_array median(const af_array& in, const dim_t dim)
         AF_CHECK(af_release_array(right));
         AF_CHECK(af_release_array(sumarr));
         AF_CHECK(af_release_array(carr));
+        AF_CHECK(af_release_array(sortedIn_handle));
         return result;
     }
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/arrayfire.git



More information about the debian-science-commits mailing list