|
From: | Paul Miller |
Subject: | Re: [Openexr-devel] Non initialized array |
Date: | Tue, 22 Nov 2016 10:17:27 -0600 |
User-agent: | Mozilla/5.0 (Windows NT 6.2; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
On 11/22/2016 10:11 AM, Michel Lerenard wrote:
On 11/22/2016 04:55 PM, Paul Miller wrote:On 11/22/2016 8:28 AM, Michel Lerenard wrote:The lineSampleCount array is never reset. The code calls _data->lineSampleCount.resizeErase(_data->maxY - _data->minY + 1); in initialize(), then in the execute function of the buffer task, we increment the values of the cells, although they have never been set to zero !Doesn't "resizeErase" also set to zero?Unfortunately not: From ImfArray.h: template <class T> inline void Array<T>::resizeErase (long size) { T *tmp = new T[size]; delete [] _data; _size = size; _data = tmp; }
Yikes! The function description has this unfortunate comment (in addition to the already-unfortunate function name):
//------------------------------------------------------ // Resize and clear the array (the contents of the array // are not preserved across the resize operation). //
[Prev in Thread] | Current Thread | [Next in Thread] |