[sword-devel] swld.cpp at line 111 - is this a bug?
Manfred Bergmann
manfred.bergmann at me.com
Wed Oct 12 00:02:23 MST 2016
> Am 12.10.2016 um 08:57 schrieb Jaak Ristioja <jaak at ristioja.ee>:
>
> On 12.10.2016 09:37, Manfred Bergmann wrote:
>>> On 12.10.2016 01:08, TS wrote:
>>>> Xcode was warning me that in PocketSword's Sword framework, swld.cpp at
>>>> line 111 with
>>>>
>>>> "delete buf;"
>>>> may be wrong and it should perhaps be
>>>>
>>>> "delete[] buf;"
>>>> instead. Is this correct? I looked at the code and I think Xcode is
>>>> correct in that the variable is an array and needs the brackets to
>>>> delete properly.
>>>
>>> Yes, Xcode has it correct. It should be `delete[] buf;`. This was also
>>> fixed in Sword++ in March.
>>
>> Despite the warning, would but not be deleted completely?
>
> It is undefined behavior, as stated by §3.7.4.2.3 in C++11. However, the
> C++ draft at https://github.com/cplusplus/draft doesn't have this
> wording since e51a2152 [1] for some reason.
>
Yeah, don’t get me wrong. It should be corrected.
But is it indeed a memory leak or does the runtime still collect and destroy all array elements?
Depends on the runtime probably.
Manfred
More information about the sword-devel
mailing list