# HG changeset patch # User Olaf Wintermann # Date 1716502698 -7200 # Node ID d0cccee15a7c3201f2b7f1e86dd0230b85d530c0 # Parent bc782cca0759699273cc3c3ed880ac2d8189f4ef fix incorrect memory management when loading file parts from the sync db diff -r bc782cca0759 -r d0cccee15a7c dav/db.c --- a/dav/db.c Thu May 23 23:23:36 2024 +0200 +++ b/dav/db.c Fri May 24 00:18:18 2024 +0200 @@ -115,7 +115,6 @@ // TODO: rewrite using low level array CxList *parts = cxLinkedListCreateSimple(CX_STORE_POINTERS); - cxDefineDestructor(parts, filepart_free); FilePart *current_part = NULL; @@ -166,12 +165,10 @@ if(!err) { FilePart *file_parts = calloc(count, sizeof(FilePart)); - size_t i = 0; CxIterator iter = cxListIterator(parts); cx_foreach(FilePart*, p, iter) { - file_parts[i] = *p; + file_parts[iter.index] = *p; free(p); - i++; } res->parts = file_parts;