Fix all list free wrapper functions - add proper definitions

This commit is contained in:
Levi Neely 2026-03-08 20:13:15 +01:00
parent df102c98f3
commit 81f28b6611
8 changed files with 56 additions and 0 deletions

View File

@ -561,6 +561,10 @@ static int rename_and_create_local(download_task_t *dt, unsigned char *checksum,
return 0;
}
static void free_download_range_list(psync_range_list_t *elem) {
pmem_free(PMEM_SUBSYS_DOWNLOAD, elem);
}
static int task_download_file(download_task_t *dt) {
binparam params[] = {PAPI_STR("auth", psync_my_auth),
PAPI_NUM("fileid", dt->dwllist.fileid)};

View File

@ -75,6 +75,10 @@ typedef struct {
unsigned char status;
} fsupload_task_t;
static void free_fsupload_task(fsupload_task_t *elem) {
pmem_free(PMEM_SUBSYS_UPLOAD, elem);
}
static pthread_mutex_t upload_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t upload_cond = PTHREAD_COND_INITIALIZER;
static uint64_t current_upload_taskid = 0;

View File

@ -44,6 +44,18 @@
* iterating of the list to reach the half of it.
*/
static void free_list_element(psync_list_element_list *elem) {
pmem_free(PMEM_SUBSYS_OTHER, elem);
}
static void free_list_string(psync_list_string_list *elem) {
pmem_free(PMEM_SUBSYS_OTHER, elem);
}
static void free_list_num(psync_list_num_list *elem) {
pmem_free(PMEM_SUBSYS_OTHER, elem);
}
void psync_list_sort(psync_list *l, psync_list_compare cmp) {
psync_list *ls, *l1, *l2, **tail;
unsigned long depth, cnt, i, l1len, l2len;

View File

@ -68,11 +68,20 @@ struct _psync_file_lock_t {
char filename[];
};
static void free_range_list(psync_range_list_t *elem) {
pmem_free(PMEM_SUBSYS_OTHER, elem);
}
static void free_upload_range_list_net(psync_upload_range_list_t *elem) {
pmem_free(PMEM_SUBSYS_OTHER, elem);
}
typedef struct {
unsigned char mbedtls_sha1[PSYNC_SHA1_DIGEST_LEN];
uint32_t adler;
} psync_block_checksum;
typedef struct {
uint64_t filesize;
uint32_t blocksize;
@ -81,17 +90,20 @@ typedef struct {
psync_block_checksum blocks[];
} psync_file_checksums;
typedef struct {
unsigned long elementcnt;
uint32_t elements[];
} psync_file_checksum_hash;
typedef struct {
uint64_t filesize;
uint32_t blocksize;
unsigned char _reserved[12];
} psync_block_checksum_header;
typedef struct {
uint64_t off;
uint32_t idx;
@ -1051,6 +1063,7 @@ int psync_http_readall(psync_http_socket *http, void *buff, int num) {
}
}
typedef struct {
psync_tree tree;
pthread_cond_t *cond;

View File

@ -1866,6 +1866,14 @@ int ppagecache_flush() {
return 0;
}
static void free_page_waiter(psync_page_waiter_t *elem) {
pmem_free(PMEM_SUBSYS_CACHE, elem);
}
static void free_crypto_auth_page(psync_crypto_auth_page *elem) {
pmem_free(PMEM_SUBSYS_CACHE, elem);
}
static void ppagecache_flush_timer(psync_timer_t timer, void *ptr) {
if (!flushedbetweentimers &&
(cache_pages_in_hash || cachepages_to_update_cnt))

View File

@ -77,6 +77,10 @@ static uint32_t get_ext_id(const char *ext) {
return n;
}
static void free_suggested_folder(suggested_folder *elem) {
pmem_free(PMEM_SUBSYS_OTHER, elem);
}
static uint32_t get_extid_type(uint32_t extid) {
unsigned long lo, hi, mid;
uint32_t n;

View File

@ -87,6 +87,10 @@ PSYNC_NOINLINE static void timer_sleep_detected(time_t lt) {
ptimer_notify_exception();
}
static void free_timer(psync_timer_structure_t *elem) {
pmem_free(PMEM_SUBSYS_OTHER, elem);
}
static void timer_check_upper_levels(time_t tmdiv, unsigned long level,
unsigned long sh) {
psync_list *l1, *l2, *l;

View File

@ -57,6 +57,7 @@
extern const unsigned char pfile_invalid_chars[];
typedef struct {
psync_list list;
psync_fileid_t localfileid;
@ -68,11 +69,13 @@ typedef struct {
unsigned char hash[PSYNC_HASH_DIGEST_HEXLEN];
} upload_list_t;
typedef struct {
upload_list_t upllist;
char filename[];
} upload_task_t;
typedef struct {
psync_folderid_t folderid;
psync_folderid_t newparentfolderid;
@ -790,6 +793,10 @@ err00:
return -1;
}
static void free_upload_range_list(psync_upload_range_list_t *elem) {
pmem_free(PMEM_SUBSYS_UPLOAD, elem);
}
static int upload_range(psock_t *api, psync_upload_range_list_t *r,
upload_list_t *upload, psync_uploadid_t uploadid,
int fd) {