From bcdae7d09d4937f16216f1c017cd2277e9a9a289 Mon Sep 17 00:00:00 2001 From: Gilad Avidov Date: Mon, 14 Dec 2020 00:15:19 -0800 Subject: [PATCH 1/2] Add shortcut check for zero elements in af_write_array --- src/api/c/array.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/api/c/array.cpp b/src/api/c/array.cpp index d2bca69180..206073f252 100644 --- a/src/api/c/array.cpp +++ b/src/api/c/array.cpp @@ -343,6 +343,7 @@ void write_array(af_array arr, const T *const data, const size_t bytes, af_err af_write_array(af_array arr, const void *data, const size_t bytes, af_source src) { + if (bytes == 0) { return AF_SUCCESS; } try { af_dtype type = getInfo(arr).getType(); // DIM_ASSERT(2, bytes <= getInfo(arr).bytes()); From 04a90f1c0255d9e311484846ae20c3bea8f37b06 Mon Sep 17 00:00:00 2001 From: pradeep Date: Fri, 9 Apr 2021 11:33:08 +0530 Subject: [PATCH 2/2] Add missing input checks in af_write_array --- src/api/c/array.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/api/c/array.cpp b/src/api/c/array.cpp index 206073f252..8cb79bfae8 100644 --- a/src/api/c/array.cpp +++ b/src/api/c/array.cpp @@ -346,6 +346,9 @@ af_err af_write_array(af_array arr, const void *data, const size_t bytes, if (bytes == 0) { return AF_SUCCESS; } try { af_dtype type = getInfo(arr).getType(); + ARG_ASSERT(1, (data != nullptr)); + ARG_ASSERT(3, (src == afHost || src == afDevice)); + // FIXME ArrayInfo class no bytes method, hence commented // DIM_ASSERT(2, bytes <= getInfo(arr).bytes()); switch (type) {