Data corruption when saving dives in win daily 4.2.-457
Lubomir I. Ivanov
neolit123 at gmail.com
Fri Nov 14 12:46:43 PST 2014
On 14 November 2014 19:57, Tomaz Canabrava <tcanabrava at kde.org> wrote:
> Looks like a bug that I should look at. Will see.
>
hey Tomaz,
i think i was able to find the cause, but the code is confusing me.
void MainTab::acceptChanges()
...
// copy the cylinder but make sure we have our own copy of the strings
free((void*)cd->cylinder[i].type.description); // <---------------
if the above free() call is removed the memory corruption is gone.
isn't it sufficient for that loop to simply be?:
for (int i = 0; i < MAX_CYLINDERS; i++) {
cd->cylinder[i] = displayed_dive.cylinder[i];
perhaps i don't understand the difference between 'current_dive' and
'displayed_dive'...
lubomir
--
More information about the subsurface
mailing list