This is an automated email from the ASF dual-hosted git repository. pnoltes pushed a commit to branch feature/pstm_missing_receiver_fix in repository https://gitbox.apache.org/repos/asf/celix.git
commit 9eb969ae56665c2f138bd41e4a92b0f9f11bfbc7 Author: Pepijn Noltes <[email protected]> AuthorDate: Mon Dec 5 17:18:53 2022 +0100 Fix stringop-overread warning reported by gcc11 --- .../src/pubsub_websocket_topic_receiver.c | 2 +- bundles/pubsub/pubsub_admin_zmq/src/pubsub_zmq_admin.c | 4 ++-- libs/dfi/src/dyn_avpr_function.c | 2 +- libs/dfi/src/dyn_avpr_type.c | 16 ++++++++-------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bundles/pubsub/pubsub_admin_websocket/src/pubsub_websocket_topic_receiver.c b/bundles/pubsub/pubsub_admin_websocket/src/pubsub_websocket_topic_receiver.c index 164cf67d..51cba0b7 100644 --- a/bundles/pubsub/pubsub_admin_websocket/src/pubsub_websocket_topic_receiver.c +++ b/bundles/pubsub/pubsub_admin_websocket/src/pubsub_websocket_topic_receiver.c @@ -617,7 +617,7 @@ static void psa_websocketTopicReceiver_ready(struct mg_connection *connection, v entry = calloc(1, sizeof(*entry)); entry->key = key; entry->uri = strndup(ri->request_uri, 1024 * 1024); - entry->socketAddress = strndup(ri->remote_addr, 1024 * 1024); + entry->socketAddress = strndup(ri->remote_addr, 48); entry->socketPort = ri->remote_port; entry->connected = true; entry->statically = false; diff --git a/bundles/pubsub/pubsub_admin_zmq/src/pubsub_zmq_admin.c b/bundles/pubsub/pubsub_admin_zmq/src/pubsub_zmq_admin.c index f842f01d..a21bc6bd 100644 --- a/bundles/pubsub/pubsub_admin_zmq/src/pubsub_zmq_admin.c +++ b/bundles/pubsub/pubsub_admin_zmq/src/pubsub_zmq_admin.c @@ -137,7 +137,7 @@ pubsub_zmq_admin_t* pubsub_zmqAdmin_create(celix_bundle_context_t *ctx, celix_lo if (ip == NULL) { L_WARN("[PSA_ZMQ] Could not determine IP address for PSA, using default ip (%s)", PUBSUB_ZMQ_DEFAULT_IP); - ip = strndup(PUBSUB_ZMQ_DEFAULT_IP, 1024); + ip = strdup(PUBSUB_ZMQ_DEFAULT_IP); } psa->ipAddress = ip; @@ -796,4 +796,4 @@ static celix_status_t zmq_getIpAddress(const char* interface, char** ip) { return status; } -#endif \ No newline at end of file +#endif diff --git a/libs/dfi/src/dyn_avpr_function.c b/libs/dfi/src/dyn_avpr_function.c index 868af8b0..9893f3ce 100644 --- a/libs/dfi/src/dyn_avpr_function.c +++ b/libs/dfi/src/dyn_avpr_function.c @@ -302,7 +302,7 @@ inline static dyn_function_argument_type * dynAvprFunction_prepareArgumentEntry( } dyn_function_argument_type *arg = calloc(1, sizeof(*arg)); - arg->name = strndup(name, ARG_SIZE); + arg->name = strdup(name); return arg; } diff --git a/libs/dfi/src/dyn_avpr_type.c b/libs/dfi/src/dyn_avpr_type.c index c485b590..13826422 100644 --- a/libs/dfi/src/dyn_avpr_type.c +++ b/libs/dfi/src/dyn_avpr_type.c @@ -348,7 +348,7 @@ static dyn_type * dynAvprType_parseRecord(dyn_type * root, dyn_type * parent, js // Create namespace + name for storage in type->name (to preserve namespacing) char fqn_buffer[FQN_SIZE]; snprintf(fqn_buffer, FQN_SIZE, "%s.%s", record_ns, json_string_value(json_object_get(record_obj, "name"))); - type->name = strndup(fqn_buffer, FQN_SIZE); + type->name = strdup(fqn_buffer); if (!type->name) { LOG_ERROR("Record: failed to allocate memory for type->name"); dynType_destroy(type); @@ -488,7 +488,7 @@ static inline struct complex_type_entry *dynAvprType_prepareRecordEntry(json_t c } entry = calloc(1, sizeof(*entry)); - entry->name = strndup(entry_name, STR_LENGTH); + entry->name = strdup(entry_name); return entry; } @@ -615,7 +615,7 @@ static inline struct type_entry * dynAvprType_prepareNestedEntry(dyn_type * cons struct type_entry *entry = calloc(1, sizeof(*entry)); if (allocate) { entry->type = calloc(1, sizeof(*entry->type)); - entry->type->name = strndup(fqn, STR_LENGTH); + entry->type->name = strdup(fqn); // Initialize information entry->type->parent = parent; @@ -692,7 +692,7 @@ static inline struct meta_entry * dynAvprType_createMetaEntry(const char* enum_e } struct meta_entry *entry = calloc(1, sizeof(*entry)); - entry->name = strndup(enum_entry_name, STR_LENGTH); + entry->name = strdup(enum_entry_name); return entry; } @@ -708,7 +708,7 @@ static inline bool dynAvprType_metaEntrySetValue(struct meta_entry * meta_entry_ return false; } - meta_entry_ptr->value = strndup(enumValue, STR_LENGTH); + meta_entry_ptr->value = strdup(enumValue); if (!meta_entry_ptr->value) { LOG_ERROR("MetaEntrySetValue: could not allocate memory for meta_entry->value"); return false; @@ -948,7 +948,7 @@ static dyn_type * dynAvprType_createSimpleType(dyn_type * parent, char kind, con return NULL; } - type->name = strndup(name, FQN_SIZE); + type->name = strdup(name); type->type = (kind == 't') ? DYN_TYPE_TEXT : DYN_TYPE_SIMPLE; type->descriptor = kind; type->ffiType = ffiType; @@ -1006,7 +1006,7 @@ static inline void dynAvprType_createVersionMetaEntry(dyn_type * type, json_t co version_pt v = NULL; celix_status_t status = version_createVersionFromString(version_str, &v); if (CELIX_SUCCESS == status) { - m_entry->value = strndup(version_str, STR_LENGTH); + m_entry->value = strdup(version_str); version_destroy(v); } else { @@ -1040,7 +1040,7 @@ static inline void dynAvprType_createAnnotationEntries(dyn_type * type, json_t c switch (json_typeof(value)) { case JSON_STRING: - m_entry->value = strndup(json_string_value(value), STR_LENGTH); + m_entry->value = strdup(json_string_value(value)); break; case JSON_INTEGER: asprintf(&m_entry->value, "%" JSON_INTEGER_FORMAT, json_integer_value(value));
