diff --git a/pclsync/papi.c b/pclsync/papi.c index b6cfcee..5d4bdc3 100644 --- a/pclsync/papi.c +++ b/pclsync/papi.c @@ -323,7 +323,7 @@ static binresult *do_parse_result(unsigned char **restrict indata, alloc *= 2; tmp = (binresult **)realloc(arr, sizeof(binresult *) * alloc); if (!tmp) { - free(arr); + pmem_free(PMEM_SUBSYS_API, arr); return NULL; } arr = tmp; @@ -335,7 +335,7 @@ static binresult *do_parse_result(unsigned char **restrict indata, ret->array = (struct _binresult **)*odata; *odata += sizeof(struct _binresult *) * cnt; memcpy(ret->array, arr, sizeof(struct _binresult *) * cnt); - free(arr); + pmem_free(PMEM_SUBSYS_API, arr); return ret; } else if (type == RPARAM_HASH) { struct _hashpair *arr; @@ -357,7 +357,7 @@ static binresult *do_parse_result(unsigned char **restrict indata, tmp = (struct _hashpair *)realloc(arr, sizeof(struct _hashpair) * alloc); if (!tmp) { - free(arr); + pmem_free(PMEM_SUBSYS_API, arr); return NULL; } arr = tmp; @@ -374,7 +374,7 @@ static binresult *do_parse_result(unsigned char **restrict indata, ret->hash = (struct _hashpair *)*odata; *odata += sizeof(struct _hashpair) * cnt; memcpy(ret->hash, arr, sizeof(struct _hashpair) * cnt); - free(arr); + pmem_free(PMEM_SUBSYS_API, arr); return ret; } else if (type == RPARAM_DATA) { ret = (binresult *)(*odata); @@ -429,19 +429,19 @@ binresult *papi_result(psock_t *sock) { return NULL; } - data = (unsigned char *)malloc(ressize); + data = (unsigned char *)pmem_malloc(PMEM_SUBSYS_API, ressize); if (!data) { pdbg_logf(D_ERROR, "Failed to allocate %u bytes for API response", ressize); return NULL; } if (pdbg_unlikely(psock_readall(sock, data, ressize) != ressize)) { - free(data); + pmem_free(PMEM_SUBSYS_API, data); return NULL; } res = parse_result(data, ressize); - free(data); + pmem_free(PMEM_SUBSYS_API, data); return res; } @@ -458,18 +458,18 @@ binresult *papi_result_thread(psock_t *sock) { ressize, MAX_API_RESPONSE_SIZE); return NULL; } - data = (unsigned char *)malloc(ressize); + data = (unsigned char *)pmem_malloc(PMEM_SUBSYS_API, ressize); if (!data) { pdbg_logf(D_ERROR, "Failed to allocate %u bytes for API response", ressize); return NULL; } if (pdbg_unlikely(psock_readall_thread(sock, data, ressize) != ressize)) { - free(data); + pmem_free(PMEM_SUBSYS_API, data); return NULL; } res = parse_result(data, ressize); - free(data); + pmem_free(PMEM_SUBSYS_API, data); return res; } @@ -482,7 +482,7 @@ void papi_rdr_alloc(async_result_reader *reader) { void papi_rdr_free(async_result_reader *reader) { if (reader->state == 1) - free(reader->data); + pmem_free(PMEM_SUBSYS_API, reader->data); } int papi_result_async(psock_t *sock, async_result_reader *reader) { @@ -494,7 +494,7 @@ again: return ASYNC_RES_NEEDMORE; else if (rd == PSYNC_SOCKET_ERROR || rd == 0) { if (reader->state == 1) - free(reader->data); + pmem_free(PMEM_SUBSYS_API, reader->data); papi_rdr_alloc(reader); reader->result = NULL; return ASYNC_RES_READY; @@ -512,7 +512,7 @@ again: papi_rdr_alloc(reader); return ASYNC_RES_READY; } - reader->data = (unsigned char *)malloc(reader->respsize); + reader->data = (unsigned char *)pmem_malloc(PMEM_SUBSYS_API, reader->respsize); if (!reader->data) { pdbg_logf(D_ERROR, "Failed to allocate %u bytes for API response", reader->respsize); @@ -524,7 +524,7 @@ again: } else { pdbg_assert(reader->state == 1); reader->result = parse_result(reader->data, reader->respsize); - free(reader->data); + pmem_free(PMEM_SUBSYS_API, reader->data); papi_rdr_alloc(reader); return ASYNC_RES_READY; } @@ -557,7 +557,7 @@ unsigned char *papi_prepare(const char *command, size_t cmdlen, } if (pdbg_unlikely(plen > 0xffff)) return NULL; - sdata = data = (unsigned char *)malloc(plen + 2 + additionalalloc); + sdata = data = (unsigned char *)pmem_malloc(PMEM_SUBSYS_API, plen + 2 + additionalalloc); if (!data) return NULL; memcpy(data, &plen, 2); @@ -606,16 +606,16 @@ binresult *papi_send(psock_t *sock, const char *command, if (readres & 2) { if (pdbg_unlikely(psock_writeall_thread(sock, sdata, plen) != plen)) { - free(sdata); + pmem_free(PMEM_SUBSYS_API, sdata); return NULL; } } else { if (pdbg_unlikely(psock_writeall(sock, sdata, plen) != plen)) { - free(sdata); + pmem_free(PMEM_SUBSYS_API, sdata); return NULL; } } - free(sdata); + pmem_free(PMEM_SUBSYS_API, sdata); if (readres & 1) { return papi_result(sock); } else { diff --git a/pclsync/pbusinessaccount.c b/pclsync/pbusinessaccount.c index acb8bb5..88ecaea 100644 --- a/pclsync/pbusinessaccount.c +++ b/pclsync/pbusinessaccount.c @@ -191,12 +191,12 @@ int do_psync_account_stopshare(psync_shareid_t usershareids[], int nusershareid, } if (ids1) - free(ids1); + pmem_free(PMEM_SUBSYS_API, ids1); if (ids2) - free(ids2); + pmem_free(PMEM_SUBSYS_API, ids2); - free(bres); - free(t); + pmem_free(PMEM_SUBSYS_API, bres); + pmem_free(PMEM_SUBSYS_API, t); return result; } @@ -348,16 +348,16 @@ int do_psync_account_modifyshare(psync_shareid_t usrshrids[], uint32_t uperms[], } if (ids1) - free(ids1); + pmem_free(PMEM_SUBSYS_API, ids1); if (ids2) - free(ids2); + pmem_free(PMEM_SUBSYS_API, ids2); if (perms1) - free(perms1); + pmem_free(PMEM_SUBSYS_API, perms1); if (perms2) - free(perms2); + pmem_free(PMEM_SUBSYS_API, perms2); - free(bres); - free(t); + pmem_free(PMEM_SUBSYS_API, bres); + pmem_free(PMEM_SUBSYS_API, t); return result; } @@ -372,7 +372,7 @@ void get_ba_member_email(uint64_t userid, char **email /*OUT*/, psql_bind_uint(res, 1, userid); if ((row = psql_fetch(res))) { cstr = psync_get_lstring(row[0], length); - *email = (char *)malloc(*length); + *email = (char *)pmem_malloc(PMEM_SUBSYS_API, *length); memcpy(*email, cstr, *length); psql_free(res); return; @@ -399,7 +399,7 @@ void get_ba_member_email(uint64_t userid, char **email /*OUT*/, users = papi_find_result2(bres, "users", PARAM_ARRAY); if (!users->length) { - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); pdbg_logf(D_WARNING, "Account_users returned empty result!\n"); return; } else { @@ -410,7 +410,7 @@ void get_ba_member_email(uint64_t userid, char **email /*OUT*/, fname = papi_find_result2(users->array[0], "firstname", PARAM_STR)->str; lname = papi_find_result2(users->array[0], "lastname", PARAM_STR)->str; } - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); if (*length) { psync_sql_res *q; @@ -438,7 +438,7 @@ void get_ba_team_name(uint64_t teamid, char **name /*OUT*/, psql_bind_uint(res, 1, teamid); if ((row = psql_fetch(res))) { cstr = psync_get_lstring(row[0], length); - *name = (char *)malloc(*length); + *name = (char *)pmem_malloc(PMEM_SUBSYS_API, *length); memcpy(*name, cstr, *length); psql_free(res); return; @@ -464,7 +464,7 @@ void get_ba_team_name(uint64_t teamid, char **name /*OUT*/, // pdbg_logf(D_NOTICE, "Result contains %d teams\n", users->length); if (!teams->length) { - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); pdbg_logf(D_WARNING, "Account_teams returned empty result!\n"); return; } else { @@ -473,7 +473,7 @@ void get_ba_team_name(uint64_t teamid, char **name /*OUT*/, *length = strlen(teamret); *name = putil_strndup(teamret, *length); } - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); psync_sql_res *q; q = psql_prepare( @@ -557,7 +557,7 @@ void cache_account_emails() { psql_commit(); } end_close: - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); } void cache_account_teams() { @@ -591,7 +591,7 @@ void cache_account_teams() { // pdbg_logf(D_NOTICE, "Result contains %d teams\n", users->length); if (!users->length) { - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); pdbg_logf(D_WARNING, "Account_teams returned empty result!\n"); return; } else { @@ -619,7 +619,7 @@ void cache_account_teams() { } psql_commit(); } - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); return; } @@ -664,7 +664,7 @@ void cache_ba_my_teams() { users = papi_find_result2(bres, "users", PARAM_ARRAY); if (!users->length) { - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); pdbg_logf(D_WARNING, "Account_users returned empty result!\n"); return; } @@ -676,7 +676,7 @@ void cache_ba_my_teams() { teams = papi_find_result2(user, "teams", PARAM_ARRAY); for (i = 0; i < teams->length; i++) cache_my_team(teams->array[i]); - free(bres); + pmem_free(PMEM_SUBSYS_API, bres); psql_unlock(); } @@ -684,7 +684,7 @@ int api_error_result(binresult *res) { uint64_t result; result = papi_find_result2(res, "result", PARAM_NUM)->num; if (result) { - free(res); + pmem_free(PMEM_SUBSYS_API, res); psync_process_api_error(result); return 1; } @@ -783,20 +783,20 @@ static psync_folderid_t create_index_folder(const char *path) { while (ind < 100) { bufflen = strlen(path) + 1 /*zero char*/ + 3 /*parenthesis*/ + 3 /*up to 3 digit index*/; - buff = (char *)malloc(bufflen); + buff = (char *)pmem_malloc(PMEM_SUBSYS_API, bufflen); snprintf(buff, bufflen - 1, "%s (%d)", path, ind); if (psync_create_remote_folder_by_path(buff, &err) != 0) pdbg_logf(D_NOTICE, "Unable to create folder %s error is %s.", buff, err); folderid = pfolder_id(buff); if ((folderid != PSYNC_INVALID_FOLDERID) && check_write_permissions(folderid)) { - free(buff); + pmem_free(PMEM_SUBSYS_API, buff); break; } ++ind; if (err) - free(err); - free(buff); + pmem_free(PMEM_SUBSYS_API, err); + pmem_free(PMEM_SUBSYS_API, buff); } return folderid; } @@ -807,7 +807,7 @@ psync_folderid_t psync_check_and_create_folder(const char *path) { if (folderid == PSYNC_INVALID_FOLDERID) { if (psync_create_remote_folder_by_path(path, &err) != 0) { pdbg_logf(D_NOTICE, "Unable to create folder %s error is %s.", path, err); - free(err); + pmem_free(PMEM_SUBSYS_API, err); folderid = create_index_folder(path); } } else if (!check_write_permissions(folderid)) diff --git a/pclsync/ptools.c b/pclsync/ptools.c index 87adbf2..5e3381f 100644 --- a/pclsync/ptools.c +++ b/pclsync/ptools.c @@ -124,7 +124,7 @@ int ptools_create_backend_event(const char *binapi, const char *category, tpCnt = mpCnt; // Manadatory parameters only. } - paramsLocal = (binparam *)malloc( + paramsLocal = (binparam *)pmem_malloc(PMEM_SUBSYS_API, (tpCnt) * sizeof(binparam)); // Allocate size for all parameters. // Set the mandatory pramaters. @@ -226,8 +226,8 @@ int ptools_create_backend_event(const char *binapi, const char *category, res = papi_send(sock, EVENT_WS, strlen(EVENT_WS), paramsLocal, tpCnt, -1, 1); - free(keyParams); - free(paramsLocal); + pmem_free(PMEM_SUBSYS_API, keyParams); + pmem_free(PMEM_SUBSYS_API, paramsLocal); if (pdbg_unlikely(!res)) { psock_close(sock); @@ -269,11 +269,11 @@ int ptools_backend_call(const char *binapi, const char *wsPath, uint64_t result; if (totalParCnt > 0) { - localParams = (binparam *)malloc( + localParams = (binparam *)pmem_malloc(PMEM_SUBSYS_API, (totalParCnt) * sizeof(binparam)); // Allocate size for all required parameters. } else { - localParams = (binparam *)malloc(sizeof(binparam)); + localParams = (binparam *)pmem_malloc(PMEM_SUBSYS_API, sizeof(binparam)); } // Add required parameters to the structure @@ -349,7 +349,7 @@ int ptools_backend_call(const char *binapi, const char *wsPath, res = papi_send(sock, wsPath, strlen(wsPath), localParams, totalParCnt, -1, 1); - free(localParams); + pmem_free(PMEM_SUBSYS_API, localParams); if (pdbg_unlikely(!res)) { psock_close(sock); @@ -474,7 +474,7 @@ void ptools_send_psyncs_event(const char *binapi, const char *auth) { if (syncCnt < 1) { pdbg_logf(D_NOTICE, "No syncs, skip the event."); - free(errMsg); + pmem_free(PMEM_SUBSYS_API, errMsg); return; } @@ -496,7 +496,7 @@ void ptools_send_psyncs_event(const char *binapi, const char *auth) { psql_run_free(sql); } - free(errMsg); + pmem_free(PMEM_SUBSYS_API, errMsg); } int ptools_set_backend_file_dates(uint64_t fileid, time_t ctime, time_t mtime) { @@ -525,7 +525,7 @@ int ptools_set_backend_file_dates(uint64_t fileid, time_t ctime, time_t mtime) { /* Free errPtr before reuse to avoid leak if first call allocated it */ if (errPtr) { - free(errPtr); + pmem_free(PMEM_SUBSYS_API, errPtr); errPtr = NULL; } @@ -542,7 +542,7 @@ int ptools_set_backend_file_dates(uint64_t fileid, time_t ctime, time_t mtime) { pdbg_logf(D_NOTICE, "mTime res: [%d]", callRes); if (errPtr) - free(errPtr); + pmem_free(PMEM_SUBSYS_API, errPtr); return callRes; }