Repository: qpid-dispatch Updated Branches: refs/heads/master e96358761 -> bb8416170
DISPATCH-978 - Cleaned up code around dynamic memory allocations. Added initialization for some uninitialized elements. Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/bb841617 Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/bb841617 Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/bb841617 Branch: refs/heads/master Commit: bb8416170dcffa88d2f25516aef1acd470845a97 Parents: e963587 Author: Ted Ross <[email protected]> Authored: Tue Apr 24 15:09:38 2018 -0400 Committer: Ted Ross <[email protected]> Committed: Tue Apr 24 15:09:38 2018 -0400 ---------------------------------------------------------------------- src/alloc_pool.c | 3 ++- src/buffer.c | 3 +-- src/connection_manager.c | 2 -- src/dispatch.c | 2 +- src/iovec.c | 7 ++++--- src/log.c | 3 +-- src/policy.c | 5 +++-- src/remote_sasl.c | 19 ++----------------- src/router_core/agent.c | 1 - src/server.c | 4 ++-- 10 files changed, 16 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/alloc_pool.c ---------------------------------------------------------------------- diff --git a/src/alloc_pool.c b/src/alloc_pool.c index 8d8f8cd..d4613b6 100644 --- a/src/alloc_pool.c +++ b/src/alloc_pool.c @@ -87,12 +87,13 @@ static void qd_alloc_init(qd_alloc_type_desc_t *desc) assert (desc->config->local_free_list_max >= desc->config->transfer_batch_size); desc->global_pool = NEW(qd_alloc_pool_t); + DEQ_ITEM_INIT(desc->global_pool); DEQ_INIT(desc->global_pool->free_list); desc->lock = sys_mutex(); DEQ_INIT(desc->tpool_list); #if QD_MEMORY_STATS desc->stats = NEW(qd_alloc_stats_t); - memset(desc->stats, 0, sizeof(qd_alloc_stats_t)); + ZERO(desc->stats); #endif qd_alloc_type_t *type_item = NEW(qd_alloc_type_t); http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/buffer.c ---------------------------------------------------------------------- diff --git a/src/buffer.c b/src/buffer.c index 7f9a749..e404850 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -24,8 +24,7 @@ #include <string.h> -size_t BUFFER_SIZE = 512; - +size_t BUFFER_SIZE = 512; static int size_locked = 0; ALLOC_DECLARE(qd_buffer_t); http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/connection_manager.c ---------------------------------------------------------------------- diff --git a/src/connection_manager.c b/src/connection_manager.c index 220c71e..b846c98 100644 --- a/src/connection_manager.c +++ b/src/connection_manager.c @@ -35,7 +35,6 @@ struct qd_config_ssl_profile_t { DEQ_LINKS(qd_config_ssl_profile_t); - uint64_t identity; char *name; char *ssl_password; char *ssl_trusted_certificate_db; @@ -52,7 +51,6 @@ DEQ_DECLARE(qd_config_ssl_profile_t, qd_config_ssl_profile_list_t); struct qd_config_sasl_plugin_t { DEQ_LINKS(qd_config_sasl_plugin_t); - uint64_t identity; char *name; char *auth_service; char *sasl_init_hostname; http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/dispatch.c ---------------------------------------------------------------------- diff --git a/src/dispatch.c b/src/dispatch.c index 842bb4d..99469f0 100644 --- a/src/dispatch.c +++ b/src/dispatch.c @@ -61,7 +61,7 @@ const char *UNAVAILABLE_DISTRIBUTION = "unavailable"; qd_dispatch_t *qd_dispatch(const char *python_pkgdir) { qd_dispatch_t *qd = NEW(qd_dispatch_t); - memset(qd, 0, sizeof(qd_dispatch_t)); + ZERO(qd); qd_entity_cache_initialize(); /* Must be first */ qd_alloc_initialize(); http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/iovec.c ---------------------------------------------------------------------- diff --git a/src/iovec.c b/src/iovec.c index 90d14cd..309236e 100644 --- a/src/iovec.c +++ b/src/iovec.c @@ -41,12 +41,13 @@ qd_iovec_t *qd_iovec(int vector_count) if (!iov) return 0; - memset(iov, 0, sizeof(qd_iovec_t)); + ZERO(iov); iov->iov_count = vector_count; - if (vector_count > QD_IOVEC_MAX) + if (vector_count > QD_IOVEC_MAX) { iov->iov = (struct iovec*) malloc(sizeof(struct iovec) * vector_count); - else + memset(iov->iov, 0, sizeof(struct iovec) * vector_count); + } else iov->iov = &iov->iov_array[0]; return iov; http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/log.c ---------------------------------------------------------------------- diff --git a/src/log.c b/src/log.c index e8fb73e..e8b4b74 100644 --- a/src/log.c +++ b/src/log.c @@ -347,8 +347,7 @@ static qd_log_source_t *qd_log_source_lh(const char *module) if (!log_source) { log_source = NEW(qd_log_source_t); - memset(log_source, 0, sizeof(qd_log_source_t)); - DEQ_ITEM_INIT(log_source); + ZERO(log_source); log_source->module = (char*) malloc(strlen(module) + 1); strcpy(log_source->module, module); qd_log_source_defaults(log_source); http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/policy.c ---------------------------------------------------------------------- diff --git a/src/policy.c b/src/policy.c index 7f53899..7fc460a 100644 --- a/src/policy.c +++ b/src/policy.c @@ -79,6 +79,7 @@ qd_policy_t *qd_policy(qd_dispatch_t *qd) policy->qd = qd; policy->log_source = qd_log_source("POLICY"); policy->max_connection_limit = 65535; + policy->py_policy_manager = 0; policy->policyDir = 0; policy->enableVhostPolicy = false; policy->connections_processed= 0; @@ -137,7 +138,7 @@ long qd_policy_c_counts_alloc() { qd_policy_denial_counts_t * dc = NEW(qd_policy_denial_counts_t); assert(dc); - memset(dc, 0, sizeof(qd_policy_denial_counts_t)); + ZERO(dc); return (long)dc; } @@ -693,7 +694,7 @@ void qd_policy_amqp_open(qd_connection_t *qd_conn) { uint32_t conn_id = qd_conn->connection_id; if (!qd_conn->policy_settings) { qd_conn->policy_settings = NEW(qd_policy_settings_t); // TODO: memory pool for settings - memset(qd_conn->policy_settings, 0, sizeof(qd_policy_settings_t)); + ZERO(qd_conn->policy_settings); } if (qd_policy_open_lookup_user(policy, qd_conn->user_id, hostip, vhost, conn_name, http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/remote_sasl.c ---------------------------------------------------------------------- diff --git a/src/remote_sasl.c b/src/remote_sasl.c index 54fd7c8..fd9da26 100644 --- a/src/remote_sasl.c +++ b/src/remote_sasl.c @@ -122,27 +122,12 @@ static void copy_bytes(const pn_bytes_t* from, qdr_owned_bytes_t* to) static qdr_sasl_relay_t* new_qdr_sasl_relay_t(const char* address, const char* sasl_init_hostname) { - qdr_sasl_relay_t* instance = (qdr_sasl_relay_t*) malloc(sizeof(qdr_sasl_relay_t)); + qdr_sasl_relay_t* instance = NEW(qdr_sasl_relay_t); + ZERO(instance); instance->authentication_service_address = strdup(address); if (sasl_init_hostname) { instance->sasl_init_hostname = strdup(sasl_init_hostname); - } else { - instance->sasl_init_hostname = 0; } - instance->selected_mechanism = 0; - instance->response.start = 0; - instance->response.size = 0; - instance->mechlist = 0; - instance->challenge.start = 0; - instance->challenge.size = 0; - instance->upstream_state = 0; - instance->downstream_state = 0; - instance->upstream_released = false; - instance->downstream_released = false; - instance->complete = false; - instance->upstream = 0; - instance->downstream = 0; - instance->username = 0; init_permissions(&instance->permissions); return instance; } http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/router_core/agent.c ---------------------------------------------------------------------- diff --git a/src/router_core/agent.c b/src/router_core/agent.c index 364aa41..84dda76 100644 --- a/src/router_core/agent.c +++ b/src/router_core/agent.c @@ -84,7 +84,6 @@ qdr_query_t *qdr_query(qdr_core_t *core, { qdr_query_t *query = new_qdr_query_t(); - DEQ_ITEM_INIT(query); ZERO(query); query->core = core; query->entity_type = type; http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/bb841617/src/server.c ---------------------------------------------------------------------- diff --git a/src/server.c b/src/server.c index 8a18630..2e87a15 100644 --- a/src/server.c +++ b/src/server.c @@ -1370,14 +1370,14 @@ void qd_listener_decref(qd_listener_t* li) qd_connector_t *qd_server_connector(qd_server_t *server) { - qd_connector_t *ct = new_qd_connector_t(); + qd_connector_t *ct = new_qd_connector_t(); if (!ct) return 0; + ZERO(ct); sys_atomic_init(&ct->ref_count, 1); ct->server = server; qd_failover_item_list_t conn_info_list; DEQ_INIT(conn_info_list); ct->conn_info_list = conn_info_list; - ct->conn_index = 0; ct->lock = sys_mutex(); ct->timer = qd_timer(ct->server->qd, try_open_cb, ct); if (!ct->lock || !ct->timer) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
