[cctbxbb] [git/cctbx] master: Replacing illegal C++ code with proper dynamic array allocation. (a31eb2bf0)

R.D. Oeffner rdo20 at cam.ac.uk
Wed Apr 12 04:20:50 PDT 2017


 

I reckon the delete statements should take place end of that function
where I put in the new statements. The reason why I didn't put in delete
statements is that I didn't author the original function and don't know
its functionality. I was merely interested in fixing a broken Windows
build. 

Currently the Windows build is broken again due to yesterdays
introduction of libtiff in the base components. Once I've sorted that
out I'm happy tentatively to put in the aforementioned delete statements
unless someone else beats me. 

Rob 

On 11/04/2017 20:39, Nicholas Sauter wrote: 

> Rob, 
> 
> Just as a general thing, "new" statements in C++ need to be paired with "delete" statements (delete pk, delete a_sum, and delete akml). Unless this is done there will be a memory leak. 
> 
> Nick 
> 
> Nicholas K. Sauter, Ph. D.
> Senior Scientist, Molecular Biophysics & Integrated Bioimaging Division 
> Lawrence Berkeley National Laboratory
> 1 Cyclotron Rd., Bldg. 33R0345
> Berkeley, CA 94720
> (510) 486-5713 
> 
> On Tue, Apr 11, 2017 at 3:31 AM, CCTBX Commit via DLS Jenkins <graeme.winter at gmail.com> wrote:
> 
>> Repository : ssh://g18-sc-serv-04.diamond.ac.uk/cctbx [1]
>> On branch : master
>> 
>> -------------------------
>> 
>> commit a31eb2bf0d5bb129425bb759466f45622c773fd4
>> Author: Robert Oeffner <rdo20 at cam.ac.uk>
>> Date: Tue Apr 11 11:31:24 2017 +0100
>> 
>> Replacing illegal C++ code with proper dynamic array allocation.
>> 
>> -------------------------
>> 
>> a31eb2bf0d5bb129425bb759466f45622c773fd4
>> scitbx/lbfgs.h | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>> 
>> diff --git a/scitbx/lbfgs.h b/scitbx/lbfgs.h
>> index 41be8e8cc..f0000143d 100755
>> --- a/scitbx/lbfgs.h
>> +++ b/scitbx/lbfgs.h
>> @@ -917,9 +917,9 @@ namespace lbfgs {
>> int info = 5;
>> brackt = false;
>> FloatType sxnorm = std::sqrt(ddot(SizeType(n), sx, sx));
>> - FloatType pk[n];
>> - FloatType a_sum[n];
>> - FloatType akm1[n];
>> + FloatType* pk = new FloatType[n];
>> + FloatType* a_sum = new FloatType[n];
>> + FloatType* akm1 = new FloatType[n];
>> for (SizeType i=0; i < n; i++) {
>> pk[i] = sx[i]/sxnorm;
>> akm1[i] = -gx[i]/sxnorm;

 

Links:
------
[1] http://g18-sc-serv-04.diamond.ac.uk/cctbx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20170412/e2028a2d/attachment.htm>


More information about the cctbxbb mailing list