summaryrefslogtreecommitdiff
path: root/libcaja-private
diff options
context:
space:
mode:
authorgaoboqwq <[email protected]>2026-03-03 11:27:53 +0800
committerVictor Kareh <[email protected]>2026-03-12 16:48:04 -0400
commit38e7ea062cb114fa8940a27b00e68e73285a8173 (patch)
tree89820f67f49d8494114f57c308db166db6d21a79 /libcaja-private
parent6123e3886e9b65891a8b1bf7bb11425a4d98200c (diff)
downloadcaja-master.tar.bz2
caja-master.tar.xz
fix(*): fix some memory leak problemHEADmaster
Signed-off-by: gaobo <[email protected]>
Diffstat (limited to 'libcaja-private')
-rw-r--r--libcaja-private/caja-extensions.c2
-rw-r--r--libcaja-private/caja-file-operations.c6
-rw-r--r--libcaja-private/caja-undostack-manager.c10
-rw-r--r--libcaja-private/caja-undostack-manager.h2
4 files changed, 11 insertions, 9 deletions
diff --git a/libcaja-private/caja-extensions.c b/libcaja-private/caja-extensions.c
index 2ccc9a87..3a6f8999 100644
--- a/libcaja-private/caja-extensions.c
+++ b/libcaja-private/caja-extensions.c
@@ -63,13 +63,13 @@ extension_new (gchar *filename, gboolean state, gboolean python, GObject *module
ext->copyright = g_key_file_get_locale_string (extension_file, CAJA_EXTENSION_GROUP, "Copyright", NULL, NULL);
ext->version = g_key_file_get_string (extension_file, CAJA_EXTENSION_GROUP, "Version", NULL);
ext->website = g_key_file_get_string (extension_file, CAJA_EXTENSION_GROUP, "Website", NULL);
- g_key_file_free (extension_file);
}
else
{
caja_debug_log (FALSE, CAJA_DEBUG_LOG_DOMAIN_USER, "Error loading keys from file \"%s\": %s\n", extension_filename, error->message);
g_error_free (error);
}
+ g_key_file_free (extension_file);
g_free (extension_filename);
if (python)
diff --git a/libcaja-private/caja-file-operations.c b/libcaja-private/caja-file-operations.c
index 4b51c907..1500aff1 100644
--- a/libcaja-private/caja-file-operations.c
+++ b/libcaja-private/caja-file-operations.c
@@ -6097,7 +6097,7 @@ create_job (GIOSchedulerJob *io_job,
&error);
// Start UNDO-REDO
if (res) {
- caja_undostack_manager_data_set_create_data(common->undo_redo_data,
+ caja_undostack_manager_data_take_create_data(common->undo_redo_data,
g_file_get_uri(dest),
NULL);
}
@@ -6112,7 +6112,7 @@ create_job (GIOSchedulerJob *io_job,
&error);
// Start UNDO-REDO
if (res) {
- caja_undostack_manager_data_set_create_data(common->undo_redo_data,
+ caja_undostack_manager_data_take_create_data(common->undo_redo_data,
g_file_get_uri(dest),
g_file_get_uri(job->src));
}
@@ -6141,7 +6141,7 @@ create_job (GIOSchedulerJob *io_job,
&error);
// Start UNDO-REDO
if (res) {
- caja_undostack_manager_data_set_create_data(common->undo_redo_data,
+ caja_undostack_manager_data_take_create_data(common->undo_redo_data,
g_file_get_uri(dest),
g_strdup(data));
}
diff --git a/libcaja-private/caja-undostack-manager.c b/libcaja-private/caja-undostack-manager.c
index a594d34c..f29d8b2f 100644
--- a/libcaja-private/caja-undostack-manager.c
+++ b/libcaja-private/caja-undostack-manager.c
@@ -1050,18 +1050,20 @@ void caja_undostack_manager_data_set_recursive_permissions
}
/** ****************************************************************
- * Sets create file information
+ * Takes create file information
+ * Note:
+ * The caller must not free target_uri and template after calling this function.
** ****************************************************************/
void
-caja_undostack_manager_data_set_create_data (CajaUndoStackActionData *
+caja_undostack_manager_data_take_create_data (CajaUndoStackActionData *
data, char *target_uri, char *template)
{
if (!data)
return;
- data->template = g_strdup (template);
- data->target_uri = g_strdup (target_uri);
+ data->template = template;
+ data->target_uri = target_uri;
data->isValid = TRUE;
}
diff --git a/libcaja-private/caja-undostack-manager.h b/libcaja-private/caja-undostack-manager.h
index cf081286..1473ae38 100644
--- a/libcaja-private/caja-undostack-manager.h
+++ b/libcaja-private/caja-undostack-manager.h
@@ -144,7 +144,7 @@ caja_undostack_manager_data_add_origin_target_pair(
CajaUndoStackActionData* data, GFile* origin, GFile* target);
void
-caja_undostack_manager_data_set_create_data(
+caja_undostack_manager_data_take_create_data(
CajaUndoStackActionData* data, char* target_uri, char* template_uri);
void