summaryrefslogtreecommitdiff
path: root/sc/source/core/opencl/formulagroupcl.cxx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-01-19 17:43:06 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-01-19 18:15:50 +0100
commit05d160d4663f2fa4c169cc0c997624ef32805c1b (patch)
tree4925db811197ca03316149775fcc34cd3fa4256d /sc/source/core/opencl/formulagroupcl.cxx
parent5c36882d3a1965f3dcc846f81100b368049a99b0 (diff)
CID#1157787: new[]/delete mismatch
Diffstat (limited to 'sc/source/core/opencl/formulagroupcl.cxx')
-rw-r--r--sc/source/core/opencl/formulagroupcl.cxx16
1 files changed, 8 insertions, 8 deletions
diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx
index d1d601e16025..cf9847c07f40 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -55,6 +55,7 @@ static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
#include <memory>
#include <boost/scoped_ptr.hpp>
+#include <boost/scoped_array.hpp>
#undef NO_FALLBACK_TO_SWINTERP /* undef this for non-TDD runs */
@@ -1098,12 +1099,12 @@ public:
if ( dynamic_cast<OpAverage*>(mpCodeGen.get()))
{
/*average need more reduction kernel for count computing*/
- double *pAllBuffer = new double[2*w];
- double *resbuf = (double*)clEnqueueMapBuffer(kEnv.mpkCmdQueue,
- mpClmem2,
- CL_TRUE, CL_MAP_READ, 0,
- sizeof(double)*w, 0, NULL, NULL,
- &err);
+ boost::scoped_array<double> pAllBuffer(new double[2*w]);
+ double *resbuf = (double*)clEnqueueMapBuffer(kEnv.mpkCmdQueue,
+ mpClmem2,
+ CL_TRUE, CL_MAP_READ, 0,
+ sizeof(double)*w, 0, NULL, NULL,
+ &err);
if (err != CL_SUCCESS)
throw OpenCLError(err, __FILE__, __LINE__);
@@ -1163,10 +1164,9 @@ public:
}
mpClmem2 = clCreateBuffer(kEnv.mpkContext,
(cl_mem_flags) CL_MEM_READ_WRITE|CL_MEM_COPY_HOST_PTR,
- w*sizeof(double)*2, pAllBuffer, &err);
+ w*sizeof(double)*2, pAllBuffer.get(), &err);
if (CL_SUCCESS != err)
throw OpenCLError(err, __FILE__, __LINE__);
- delete pAllBuffer;
}
// set kernel arg
err = clSetKernelArg(k, argno, sizeof(cl_mem), (void*)&(mpClmem2));