[arrayfire] 14/41: BUGFIX: Getting device pointer on empty arrays no longer segfaults.
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Mon Mar 21 14:56:22 UTC 2016
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch debian/experimental
in repository arrayfire.
commit c1c86b6192aab09da2f97a762d1a75ca8dc26a6f
Author: Pavan Yalamanchili <pavan at arrayfire.com>
Date: Wed Mar 9 23:09:41 2016 -0500
BUGFIX: Getting device pointer on empty arrays no longer segfaults.
Added relevant test.
---
src/backend/opencl/Array.hpp | 2 ++
test/array.cpp | 7 +++++++
2 files changed, 9 insertions(+)
diff --git a/src/backend/opencl/Array.hpp b/src/backend/opencl/Array.hpp
index 0b1f019..f87c772 100644
--- a/src/backend/opencl/Array.hpp
+++ b/src/backend/opencl/Array.hpp
@@ -78,6 +78,7 @@ namespace opencl
void *getDevicePtr(const Array<T>& arr)
{
const cl::Buffer *buf = arr.device();
+ if (!buf) return NULL;
memLock((T *)buf);
cl_mem mem = (*buf)();
return (void *)mem;
@@ -87,6 +88,7 @@ namespace opencl
void *getRawPtr(const Array<T>& arr)
{
const cl::Buffer *buf = arr.get();
+ if (!buf) return NULL;
cl_mem mem = (*buf)();
return (void *)mem;
}
diff --git a/test/array.cpp b/test/array.cpp
index 293b888..47e0c3a 100644
--- a/test/array.cpp
+++ b/test/array.cpp
@@ -7,6 +7,7 @@
* http://arrayfire.com/licenses/BSD-3-Clause
********************************************************/
+#include <cstddef>
#include <gtest/gtest.h>
#include <arrayfire.h>
#include <testHelpers.hpp>
@@ -485,3 +486,9 @@ TEST(DeviceId, Different)
ASSERT_EQ(err, AF_ERR_DEVICE);
setDevice(id0);
}
+
+TEST(Device, empty)
+{
+ array a = array();
+ ASSERT_EQ(a.device<float>() == NULL, 1);
+}
--
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