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));

Reply via email to