提交 4d918e95 authored 作者: ivdorelian's avatar ivdorelian

Update sandbox/cuda/dnn_base.c to check malloc

Added checks to see if malloc succeed and show a memory error if not.
上级 a66610b4
......@@ -5,12 +5,12 @@ static cudnnHandle_t _handle = NULL;
static int
c_set_tensorNd(CudaNdarray *var, cudnnTensorDescriptor_t desc) {
int dim = CudaNdarray_NDIM(var);
int *strides = (int *)malloc(dim * sizeof(int));
int default_str = 1;
int return_value = 0;
if (strides != NULL) {
for (int i = dim-1; i >= 0; i--)
{
if (CudaNdarray_HOST_STRIDES(var)[i])
......@@ -30,6 +30,14 @@ c_set_tensorNd(CudaNdarray *var, cudnnTensorDescriptor_t desc) {
"Could not set tensorNd descriptor: %s"
"dim=%d",
cudnnGetErrorString(err), dim);
return_value = -1;
}
} else {
PyErr_Format(PyExc_MemoryError,
"Could not allocate memory for strides array of size %d.",
dim);
return_value = -1;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论