Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • dap/dap-sdk
1 result
Show changes
Commits on Source (7)
......@@ -408,9 +408,7 @@ void dap_cert_delete(dap_cert_t * a_cert)
dap_enc_key_delete (a_cert->enc_key );
if( a_cert->metadata )
dap_binary_tree_clear(a_cert->metadata);
if (a_cert->_pvt)
DAP_DELETE( a_cert->_pvt );
DAP_DELETE (a_cert );
DAP_DEL_MULTY(a_cert->_pvt, a_cert);
}
static int s_make_cert_path(const char *a_cert_name, const char *a_folder_path, bool a_check_access, char *a_cert_path)
......@@ -608,8 +606,10 @@ void dap_cert_add_folder(const char *a_folder_path)
char *l_cert_name = dap_strdup(l_filename);
l_cert_name[l_filename_len-l_suffix_len] = '\0'; // Remove suffix
// Load the cert file
//log_it(L_DEBUG,"Trying to load %s",l_filename);
dap_cert_add_file(l_cert_name,a_folder_path);
if (!dap_cert_add_file(l_cert_name,a_folder_path))
log_it(L_ERROR,"Cert %s not loaded", l_filename);
else
log_it(L_DEBUG,"Cert %s loaded", l_filename);
DAP_DELETE(l_cert_name);
}
}
......@@ -884,7 +884,12 @@ void *dap_cert_get_meta_custom(dap_cert_t *a_cert, const char *a_field, size_t *
*/
void dap_cert_deinit()
{
dap_cert_item_t *l_cert_item = NULL, *l_cert_tmp;
HASH_ITER(hh, s_certs, l_cert_item, l_cert_tmp) {
HASH_DEL(s_certs, l_cert_item);
dap_cert_delete(l_cert_item->cert);
DAP_DELETE (l_cert_item);
}
}
/**
......
......@@ -333,8 +333,10 @@ dap_cert_t* dap_cert_file_load(const char * a_cert_file_path)
dap_cert_add( l_ret );
fclose(l_file);
DAP_DELETE(l_data);
if (l_err)
DAP_DEL_Z(l_ret);
if (l_err) {
dap_cert_delete(l_ret);
l_ret = NULL;
}
return l_ret;
}
......
......@@ -62,7 +62,7 @@ int dap_enc_init()
*/
void dap_enc_deinit()
{
dap_cert_deinit();
}
bool dap_enc_debug_more()
......
......@@ -1514,7 +1514,7 @@ dap_global_db_obj_t *dap_global_db_objs_copy(const dap_global_db_obj_t *a_objs_s
void dap_global_db_objs_delete(dap_global_db_obj_t *a_objs, size_t a_count)
{
if (a_objs && a_count) {
for (dap_global_db_obj_t *l_obj = a_objs; --a_count; ++l_obj)
for (dap_global_db_obj_t *l_obj = a_objs; a_count--; ++l_obj)
DAP_DEL_MULTY(l_obj->key, l_obj->value);
}
DAP_DELETE(a_objs);
......
......@@ -558,17 +558,14 @@ int s_fill_store_obj(const char *a_group, MDBX_val *a_key, MDBX_val *a_data, dap
a_obj->flags = l_record->flags;
if (a_obj->value_len &&
!(a_obj->value = DAP_DUP_SIZE(l_record->key_n_value_n_sign + l_record->key_len, a_obj->value_len))) {
DAP_DELETE(a_obj->group);
DAP_DELETE(a_obj->key);
DAP_DEL_MULTY(a_obj->group, a_obj->key);
return log_it(L_CRITICAL, "Cannot allocate a memory for store object value"), -7;
}
if (l_record->sign_len >= sizeof(dap_sign_t)) {
dap_sign_t *l_sign = (dap_sign_t *)(l_record->key_n_value_n_sign + l_record->key_len + l_record->value_len);
if (dap_sign_get_size(l_sign) != l_record->sign_len ||
!(a_obj->sign = DAP_DUP_SIZE(l_sign, l_record->sign_len))) {
DAP_DELETE(a_obj->group);
DAP_DELETE(a_obj->key);
DAP_DEL_Z(a_obj->value);
DAP_DEL_MULTY(a_obj->group, a_obj->key, a_obj->value);
if (dap_sign_get_size(l_sign) != l_record->sign_len)
return log_it(L_ERROR, "Corrupted global DB record internal value"), -6;
else
......@@ -589,6 +586,7 @@ static int s_get_obj_by_text_key(MDBX_txn *a_txn, MDBX_dbi a_dbi, MDBX_val *a_ke
if ( MDBX_SUCCESS != (rc = mdbx_cursor_get(l_cursor, a_key, a_data, MDBX_FIRST)) ) {
if (rc != MDBX_NOTFOUND)
log_it(L_ERROR, "mdbx_cursor_get: (%d) %s", rc, mdbx_strerror(rc));
mdbx_cursor_close(l_cursor);
return rc;
}
size_t l_key_len = strlen(a_text_key) + 1;
......
......@@ -728,7 +728,7 @@ static dap_store_obj_t* s_db_sqlite_read_cond_store_obj(const char *a_group, dap
// data forming
size_t l_count_out = 0;
int rc;
for ( rc = 0; l_count_out < l_count && SQLITE_ROW == ( rc = s_db_sqlite_fill_one_item(a_group, l_ret + l_count_out, l_stmt) ); ++l_count_out );
for ( rc = 0; SQLITE_ROW == ( rc = s_db_sqlite_fill_one_item(a_group, l_ret + l_count_out, l_stmt) ) && l_count_out < l_count; ++l_count_out ) {};
if ( rc != SQLITE_DONE )
log_it(L_ERROR, "SQLite conditional read error %d(%s)", sqlite3_errcode(l_conn->conn), sqlite3_errmsg(l_conn->conn));
if (a_count_out)
......@@ -795,7 +795,7 @@ static dap_store_obj_t* s_db_sqlite_read_store_obj(const char *a_group, const ch
// data forming
size_t l_count_out = 0;
int rc;
for ( rc = 0; l_count_out < l_count && SQLITE_ROW == ( rc = s_db_sqlite_fill_one_item(a_group, l_ret + l_count_out, l_stmt) ); ++l_count_out );
for ( rc = 0; SQLITE_ROW == ( rc = s_db_sqlite_fill_one_item(a_group, l_ret + l_count_out, l_stmt) ) && l_count_out < l_count; ++l_count_out ) {};
if ( rc != SQLITE_DONE )
log_it(L_ERROR, "SQLite read error %d(%s)", sqlite3_errcode(l_conn->conn), sqlite3_errmsg(l_conn->conn));
if (a_count_out)
......
......@@ -1032,10 +1032,12 @@ static bool s_stream_delete_callback(void *a_arg)
pthread_rwlock_wrlock(&s_link_manager->links_lock);
dap_link_t *l_link = s_link_manager_link_find(l_node_addr);
if (!l_link) {
DAP_DELETE(a_arg);
pthread_rwlock_unlock(&s_link_manager->links_lock);
return false; // It's OK if stream is uregistered with us
}
if (!l_link->active_clusters) {
DAP_DELETE(a_arg);
pthread_rwlock_unlock(&s_link_manager->links_lock);
return false; // It's OK if net is unregistered yet
}
......@@ -1043,6 +1045,7 @@ static bool s_stream_delete_callback(void *a_arg)
dap_cluster_link_delete_from_all(l_link->active_clusters, l_node_addr);
if (!l_link->uplink.client)
s_link_delete(&l_link, false, false);
DAP_DELETE(a_arg);
pthread_rwlock_unlock(&s_link_manager->links_lock);
return false;
}
......
......@@ -182,15 +182,14 @@ dap_stm_ch_rec_t *l_rec = NULL;
if ( !l_rec )
log_it(L_ERROR, "dap_stream_ch_t:%p - no record found!", a_stm_ch);
else {
DAP_DELETE(l_rec->stm_ch);
DAP_DELETE(l_rec);
dap_list_free_full(a_stm_ch->packet_in_notifiers, NULL);
dap_list_free_full(a_stm_ch->packet_out_notifiers, NULL);
DAP_DEL_MULTY(l_rec->stm_ch, l_rec);
debug_if(g_debug_reactor, L_NOTICE, "dap_stream_ch_t:%p - is released", a_stm_ch);
}
#else
dap_list_free_full(a_stm_ch->packet_in_notifiers, NULL);
dap_list_free_full(a_stm_ch->packet_out_notifiers, NULL);
DAP_DELETE(a_stm_ch);
#endif
return 0; /* SS$_SUCCESS */
......