]> git.proxmox.com Git - pve-cluster.git/commitdiff
pmxcfs: migrate to g_memdup2
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 19 May 2023 15:29:08 +0000 (17:29 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 19 May 2023 15:32:16 +0000 (17:32 +0200)
As the previously used g_memdup is deprecated since GLib 2.68, due to
being prone to integer overflows when converting the argument from a
gsize to a guint, while that only produces a warning we compile with
Werror, so this FTBFS.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
data/src/database.c
data/src/dcdb.c
data/src/dfsm.c
data/src/logger.c
data/src/memdb.c
data/src/status.c

index aa230e90ec5d12255d10f7699444a3f3a1a48950..d1c15a75b40d5a47a1261009017a0cb043d1c053 100644 (file)
@@ -351,7 +351,7 @@ static gboolean bdb_backend_load_index(
 
                if (te->type == DT_REG) {
                        if (size > 0)
-                               te->data.value = g_memdup(value, size);
+                               te->data.value = g_memdup2(value, size);
                } else if (te->type == DT_DIR) {
                        if (size) {
                                cfs_critical("directory inode contains data (inode = %016" PRIX64 ")",
index 58351ed831b615216975631f5df8e3f1cdb835ee..28e9ae6fe1259bc5e9008cfb624b0c7ad34dd070 100644 (file)
@@ -347,7 +347,7 @@ dcdb_parse_update_inode(
        te->type = type;
 
        if (te->type == DT_REG && te->size) {
-               te->data.value = g_memdup(data, te->size);
+               te->data.value = g_memdup2(data, te->size);
                if (!te->data.value) {
                        memdb_tree_entry_free(te);
                        return NULL;
index ddfcc2320637a83bcd2fe4fecc48206e8ca1c1b4..84f7df7b253fcc4ff6371fb2d491e3dc973985a0 100644 (file)
@@ -460,7 +460,7 @@ dfsm_queue_add_message(
                
        qm->nodeid = nodeid;
        qm->pid = pid;
-       qm->msg = g_memdup (msg, msg_len);
+       qm->msg = g_memdup2 (msg, msg_len);
        qm->msg_len = msg_len;
        qm->msg_count =  msg_count;
 
@@ -877,7 +877,7 @@ dfsm_cpg_deliver_callback(
                                goto leave;
                        }
 
-                       ni->state = g_memdup(msg, msg_len);
+                       ni->state = g_memdup2(msg, msg_len);
                        ni->state_len = msg_len;
 
                        int received_all = 1;
index 1ba3c8b347dbd537aefb20f62a9fed59b381c9d5..3792650ab740c8b6b075517310cbf399fd456b00 100644 (file)
@@ -606,7 +606,7 @@ clusterlog_get_state(
        }
 
        *res_len = clog_size(cl->base);
-       gpointer msg = g_memdup(cl->base, *res_len);
+       gpointer msg = g_memdup2(cl->base, *res_len);
 
        g_mutex_unlock(&cl->mutex);
 
index 7ec7e0b7a3577b0460598078569bf0cd5f114af2..69532275412a95e953d155bd254f2ae03da329a3 100644 (file)
@@ -73,7 +73,7 @@ memdb_tree_entry_copy(
        cpy->size = te->size;
 
        if (with_data && te->size && te->type == DT_REG) {
-               cpy->data.value = g_memdup(te->data.value, te->size);
+               cpy->data.value = g_memdup2(te->data.value, te->size);
        } else { 
                cpy->data.value = NULL;
        }
@@ -676,7 +676,7 @@ memdb_read_nolock(
 
        if ((te = memdb_lookup_path(memdb, path, &parent))) {
                if (te->type == DT_REG) {
-                       *data_ret = g_memdup(te->data.value, te->size);
+                       *data_ret = g_memdup2(te->data.value, te->size);
                        guint32 size = te->size;
                        return size;
                }
@@ -1451,7 +1451,7 @@ memdb_index_copy(memdb_index_t *idx)
                return NULL;
        }
 
-       memdb_index_t *copy = (memdb_index_t *)g_memdup(idx, bytes);
+       memdb_index_t *copy = (memdb_index_t *)g_memdup2(idx, bytes);
 
        return copy;
 }
index 9e520a57723cf29c47118ad99c2612f5a96d2993..8d629860cd27948aaf133a3bba0a6230527f221b 100644 (file)
@@ -1102,14 +1102,14 @@ kventry_hash_set(
                g_hash_table_remove(kvhash, key);
        } else if ((entry = (kventry_t *)g_hash_table_lookup(kvhash, key))) {
                g_free(entry->data);
-               entry->data = g_memdup(data, len);
+               entry->data = g_memdup2(data, len);
                entry->len = len;
                entry->version++;
        } else {
                kventry_t *entry = g_new0(kventry_t, 1);
 
                entry->key = g_strdup(key);
-               entry->data = g_memdup(data, len);
+               entry->data = g_memdup2(data, len);
                entry->len = len;
 
                g_hash_table_replace(kvhash, entry->key, entry);
@@ -1466,14 +1466,14 @@ rrdentry_hash_set(
        rrdentry_t *entry;
        if ((entry = (rrdentry_t *)g_hash_table_lookup(rrdhash, key))) {
                g_free(entry->data);
-               entry->data = g_memdup(data, len);
+               entry->data = g_memdup2(data, len);
                entry->len = len;
                entry->time = time(NULL);
        } else {
                rrdentry_t *entry = g_new0(rrdentry_t, 1);
 
                entry->key = g_strdup(key);
-               entry->data = g_memdup(data, len);
+               entry->data = g_memdup2(data, len);
                entry->len = len;
                entry->time = time(NULL);