]> saetta.ns0.it Git - zakautho/libzakautho/commitdiff
Memory leak. develop
authorAndrea Zagli <azagli@libero.it>
Thu, 14 Aug 2025 07:54:03 +0000 (09:54 +0200)
committerAndrea Zagli <azagli@libero.it>
Thu, 14 Aug 2025 07:54:03 +0000 (09:54 +0200)
docs/reference/autoz-undeclared.txt [deleted file]
docs/reference/autoz-undocumented.txt [deleted file]
docs/reference/autoz-unused.txt [deleted file]
docs/reference/autoz.args [deleted file]
docs/reference/autoz.hierarchy [deleted file]
docs/reference/autoz.interfaces [deleted file]
docs/reference/autoz.prerequisites [deleted file]
docs/reference/autoz.signals [deleted file]
src/autho.c
src/resource.c
src/role.c

diff --git a/docs/reference/autoz-undeclared.txt b/docs/reference/autoz-undeclared.txt
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/docs/reference/autoz-undocumented.txt b/docs/reference/autoz-undocumented.txt
deleted file mode 100644 (file)
index 945bc29..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-2% symbol docs coverage.
-1 symbols documented.
-5 symbols incomplete.
-51 not documented.
-
-
-AUTOZ
-AUTOZ_CLASS
-AUTOZ_GET_CLASS
-Autoz
-AutozClass (<items>)
-AutozIResource
-AutozIResourceIface (<items>)
-AutozIRole
-AutozIRoleIface (<items>)
-AutozResource
-AutozResourceClass (<items>)
-AutozRole
-AutozRoleClass (<items>)
-IS_AUTOZ
-IS_AUTOZ_CLASS
-TYPE_AUTOZ
-autoz_add_parent_to_resource
-autoz_add_parent_to_role
-autoz_add_parents_to_resource
-autoz_add_parents_to_role
-autoz_add_resource
-autoz_add_resource_with_parents
-autoz_add_role
-autoz_add_role_with_parents
-autoz_allow
-autoz_clear
-autoz_deny
-autoz_get_resource_from_id
-autoz_get_role_from_id
-autoz_get_type
-autoz_get_xml
-autoz_iresource_get_resource_id
-autoz_irole_get_role_id
-autoz_is_allowed
-autoz_load_fro_xml
-autoz_load_from_db
-autoz_new
-autoz_resource_is_child
-autoz_resource_new
-autoz_role_is_child
-autoz_role_new
-autoz_save_to_db
-
-
-autoz:Short_Description
-resource:Long_Description
-resource:Short_Description
-resource_interface:Long_Description
-resource_interface:Short_Description
-role:Long_Description
-role:Short_Description
-role_interface:Long_Description
-role_interface:Short_Description
diff --git a/docs/reference/autoz-unused.txt b/docs/reference/autoz-unused.txt
deleted file mode 100644 (file)
index a3dce13..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-autoz_add_parent_to_resource
-autoz_add_parent_to_role
-autoz_add_parents_to_resource
-autoz_add_parents_to_role
-autoz_clear
-autoz_deny
-autoz_get_xml
-autoz_load_from_db
-autoz_load_from_xml
-autoz_resource_is_child
-autoz_role_is_child
-autoz_save_to_db
diff --git a/docs/reference/autoz.args b/docs/reference/autoz.args
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/docs/reference/autoz.hierarchy b/docs/reference/autoz.hierarchy
deleted file mode 100644 (file)
index c92c2ab..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-GObject
-  Autoz
-  AutozResource
-  AutozRole
-GInterface
-  GTypePlugin
-  AutozIResource
-  AutozIRole
diff --git a/docs/reference/autoz.interfaces b/docs/reference/autoz.interfaces
deleted file mode 100644 (file)
index 642b295..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-AutozResource AutozIResource
-AutozRole AutozIRole
diff --git a/docs/reference/autoz.prerequisites b/docs/reference/autoz.prerequisites
deleted file mode 100644 (file)
index 8b67f96..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-AutozIResource GObject
-AutozIRole GObject
diff --git a/docs/reference/autoz.signals b/docs/reference/autoz.signals
deleted file mode 100644 (file)
index e69de29..0000000
index e97e74018f3d99f0ece9a769b80c5a23ac1dd99b..06919e5c8f76c08ee191f643534966dbade11556 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2016 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2010-2024 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -821,8 +821,9 @@ zak_autho_allow (ZakAutho *zak_autho, ZakAuthoIRole *irole, ZakAuthoIResource *i
 
        if (g_hash_table_lookup (priv->rules_allow, str_id) == NULL)
                {
-                       g_hash_table_insert (priv->rules_allow, str_id, r);
+                       g_hash_table_insert (priv->rules_allow, g_strdup (str_id), r);
                }
+       g_free (str_id);
 }
 
 /**
@@ -883,8 +884,9 @@ zak_autho_deny (ZakAutho *zak_autho, ZakAuthoIRole *irole, ZakAuthoIResource *ir
 
        if (g_hash_table_lookup (priv->rules_deny, str_id) == NULL)
                {
-                       g_hash_table_insert (priv->rules_deny, str_id, r);
+                       g_hash_table_insert (priv->rules_deny, g_strdup (str_id), r);
                }
+       g_free (str_id);
 }
 
 static ZakAuthoIsAllowed
@@ -907,14 +909,17 @@ _zak_autho_is_allowed_role (ZakAutho *zak_autho, Role *role, Resource *resource,
 
                        if (g_hash_table_lookup (priv->rules_deny, str_id) != NULL)
                                {
+                                       g_free (str_id);
                                        ret = ZAK_AUTHO_DENIED;
                                        return ret;
                                }
                        if (g_hash_table_lookup (priv->rules_allow, str_id) != NULL)
                                {
+                                       g_free (str_id);
                                        ret = ZAK_AUTHO_ALLOWED;
                                        return ret;
                                }
+                       g_free (str_id);
                }
 
        /* and after for specific resource */
@@ -925,14 +930,17 @@ _zak_autho_is_allowed_role (ZakAutho *zak_autho, Role *role, Resource *resource,
 
        if (g_hash_table_lookup (priv->rules_deny, str_id) != NULL)
                {
+                       g_free (str_id);
                        ret = ZAK_AUTHO_DENIED;
                        return ret;
                }
        if (g_hash_table_lookup (priv->rules_allow, str_id) != NULL)
                {
+                       g_free (str_id);
                        ret = ZAK_AUTHO_ALLOWED;
                        return ret;
                }
+       g_free (str_id);
 
        if (ret == ZAK_AUTHO_NOT_FOUND && resource->parents != NULL)
                {
@@ -991,16 +999,20 @@ _zak_autho_is_allowed_resource (ZakAutho *zak_autho, Role *role, Resource *resou
 
        if (g_hash_table_lookup (priv->rules_deny, str_id) != NULL)
                {
+                       g_free (str_id);
                        ret = ZAK_AUTHO_DENIED;
                        return ret;
                }
        else if (g_hash_table_lookup (priv->rules_allow, str_id) != NULL)
                {
+                       g_free (str_id);
                        ret = ZAK_AUTHO_ALLOWED;
                        return ret;
                }
        else if (resource->parents != NULL)
                {
+                       g_free (str_id);
+
                        /* trying parents */
                        GList *parents;
 
@@ -1118,14 +1130,17 @@ zak_autho_is_allowed (ZakAutho *zak_autho, ZakAuthoIRole *irole, ZakAuthoIResour
 
                        if (g_hash_table_lookup (priv->rules_deny, str_id) != NULL)
                                {
+                                       g_free (str_id);
                                        ret = FALSE;
                                        return ret;
                                }
                        if (g_hash_table_lookup (priv->rules_allow, str_id) != NULL)
                                {
+                                       g_free (str_id);
                                        ret = TRUE;
                                        return ret;
                                }
+                       g_free (str_id);
                }
 
        g_return_val_if_fail (ZAK_AUTHO_IS_IRESOURCE (iresource), FALSE);
@@ -1145,14 +1160,17 @@ zak_autho_is_allowed (ZakAutho *zak_autho, ZakAuthoIRole *irole, ZakAuthoIResour
 
        if (g_hash_table_lookup (priv->rules_deny, str_id) != NULL)
                {
+                       g_free (str_id);
                        ret = FALSE;
                        return ret;
                }
        if (g_hash_table_lookup (priv->rules_allow, str_id) != NULL)
                {
+                       g_free (str_id);
                        ret = TRUE;
                        return ret;
                }
+       g_free (str_id);
 
        if (!ret && resource->parents != NULL)
                {
@@ -2042,9 +2060,11 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                        rows = gda_data_model_get_n_rows (dm);
                        for (row = 0; row < rows; row++)
                                {
+                                       gchar *role = gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error));
                                        error = NULL;
-                                       irole = ZAK_AUTHO_IROLE (zak_autho_role_new (gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error))));
+                                       irole = ZAK_AUTHO_IROLE (zak_autho_role_new (role));
                                        zak_autho_add_role (zak_autho, irole);
+                                       g_free (role);
                                }
                }
        else if (error != NULL)
@@ -2053,7 +2073,10 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                                   prefix,
                                   error->message != NULL ? error->message : "no details");
                }
-       g_object_unref (dm);
+       if (dm != NULL)
+               {
+                       g_object_unref (dm);
+               }
 
        /* roles parents */
        error = NULL;
@@ -2072,11 +2095,15 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                        rows = gda_data_model_get_n_rows (dm);
                        for (row = 0; row < rows; row++)
                                {
+                                       gchar *role = gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error));
                                        error = NULL;
-                                       irole = ZAK_AUTHO_IROLE (zak_autho_role_new (gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error))));
+                                       irole = ZAK_AUTHO_IROLE (zak_autho_role_new (role));
+                                       g_free (role);
+                                       role = gda_value_stringify (gda_data_model_get_value_at (dm, 1, row, &error));
                                        error = NULL;
-                                       irole_parent = ZAK_AUTHO_IROLE (zak_autho_role_new (gda_value_stringify (gda_data_model_get_value_at (dm, 1, row, &error))));
+                                       irole_parent = ZAK_AUTHO_IROLE (zak_autho_role_new (role));
                                        zak_autho_add_parent_to_role (zak_autho, irole, irole_parent);
+                                       g_free (role);
                                }
                }
        else if (error != NULL)
@@ -2085,7 +2112,10 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                                   prefix,
                                   error->message != NULL ? error->message : "no details");
                }
-       g_object_unref (dm);
+       if (dm != NULL)
+               {
+                       g_object_unref (dm);
+               }
 
        /* resources */
        error = NULL;
@@ -2099,8 +2129,10 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                        for (row = 0; row < rows; row++)
                                {
                                        error = NULL;
-                                       iresource = ZAK_AUTHO_IRESOURCE (zak_autho_resource_new (gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error))));
+                                       gchar *resource = gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error));
+                                       iresource = ZAK_AUTHO_IRESOURCE (zak_autho_resource_new (resource));
                                        zak_autho_add_resource (zak_autho, iresource);
+                                       g_free (resource);
                                }
                }
        else if (error != NULL)
@@ -2109,7 +2141,10 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                                   prefix,
                                   error->message != NULL ? error->message : "no details");
                }
-       g_object_unref (dm);
+       if (dm != NULL)
+               {
+                       g_object_unref (dm);
+               }
 
        /* resources parents */
        error = NULL;
@@ -2128,11 +2163,15 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                        rows = gda_data_model_get_n_rows (dm);
                        for (row = 0; row < rows; row++)
                                {
+                                       gchar *resource = gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error));
                                        error = NULL;
-                                       iresource = ZAK_AUTHO_IRESOURCE (zak_autho_resource_new (gda_value_stringify (gda_data_model_get_value_at (dm, 0, row, &error))));
+                                       iresource = ZAK_AUTHO_IRESOURCE (zak_autho_resource_new (resource));
+                                       g_free (resource);
+                                       resource = gda_value_stringify (gda_data_model_get_value_at (dm, 1, row, &error));
                                        error = NULL;
-                                       iresource_parent = ZAK_AUTHO_IRESOURCE (zak_autho_resource_new (gda_value_stringify (gda_data_model_get_value_at (dm, 1, row, &error))));
+                                       iresource_parent = ZAK_AUTHO_IRESOURCE (zak_autho_resource_new (resource));
                                        zak_autho_add_parent_to_resource (zak_autho, iresource, iresource_parent);
+                                       g_free (resource);
                                }
                }
        else if (error != NULL)
@@ -2141,7 +2180,10 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                                   prefix,
                                   error->message != NULL ? error->message : "no details");
                }
-       g_object_unref (dm);
+       if (dm != NULL)
+               {
+                       g_object_unref (dm);
+               }
 
        /* rules */
        error = NULL;
@@ -2170,6 +2212,7 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                                                {
                                                        role_id = gda_value_stringify (gval);
                                                        irole = zak_autho_get_role_from_id (zak_autho, role_id);
+                                                       g_free (role_id);
                                                        if (irole != NULL)
                                                                {
                                                                        error = NULL;
@@ -2187,6 +2230,7 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                                                                                {
                                                                                        resource_id = gda_value_stringify (gval);
                                                                                        iresource = zak_autho_get_resource_from_id (zak_autho, resource_id);
+                                                                                       g_free (resource_id);
                                                                                }
 
                                                                        error = NULL;
@@ -2222,7 +2266,10 @@ zak_autho_load_from_db (ZakAutho *zak_autho, GdaConnection *gdacon, const gchar
                                   prefix,
                                   error->message != NULL ? error->message : "no details");
                }
-       g_object_unref (dm);
+       if (dm != NULL)
+               {
+                       g_object_unref (dm);
+               }
 
        g_free (prefix);
 
index b8f284f498bd29ffa1b09f435a92a175aba95a28..3f753fa30e8ae28a5a9d5942f59fc1308412b1c0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2015 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2010-2024 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -109,7 +109,7 @@ static const gchar
 
        priv = ZAK_AUTHO_RESOURCE_GET_PRIVATE (iresource);
 
-       ret = (const gchar *)g_strdup (priv->resource_id);
+       ret = (const gchar *)priv->resource_id;
 
        return ret;
 }
index 1af6c4d98bb75bf7482a59052800d596f2955a61..97dea44121ef1d48157f83809e6055cd1778ae3d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2015 Andrea Zagli <azagli@libero.it>
+ * Copyright (C) 2010-2024 Andrea Zagli <azagli@libero.it>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -109,7 +109,7 @@ static const gchar
 
        priv = ZAK_AUTHO_ROLE_GET_PRIVATE (irole);
 
-       ret = (const gchar *)g_strdup (priv->role_id);
+       ret = (const gchar *)priv->role_id;
 
        return ret;
 }