1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
From 9b74dc16d852a40d37f7ce6c236406959fd013e5 Mon Sep 17 00:00:00 2001
From: lukefromdc <lukefromdc@hushmail.com>
Date: Mon, 13 Jan 2025 22:39:13 -0500
Subject: [PATCH] Fix an invalid pointer crash with glib 2.83.2
The typecast to non-const gchar produced invalid pointer errors on free() with glib 2.83.2
---
plugins/udisks2/udisks2-plugin.c | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
Index: mate-sensors-applet-1.26.0/plugins/udisks2/udisks2-plugin.c
===================================================================
--- mate-sensors-applet-1.26.0.orig/plugins/udisks2/udisks2-plugin.c
+++ mate-sensors-applet-1.26.0/plugins/udisks2/udisks2-plugin.c
@@ -311,16 +311,15 @@ syslog(LOG_ERR, "propdict2 type: %s", g_
#endif
/* get data */
- gchar *id = NULL;
- gchar *model = NULL;
+ const gchar *id = NULL;
+ const gchar *model = NULL;
gboolean smartenabled;
gdouble temp;
- /* NULL, bc we don't care about the length of the string
- * typecast bc g_variant_get_string() returns const char* */
- id = (gchar *) g_variant_get_string (g_variant_lookup_value (propdict, "Id", G_VARIANT_TYPE_STRING), NULL);
- model = (gchar *) g_variant_get_string (g_variant_lookup_value (propdict, "Model", G_VARIANT_TYPE_STRING), NULL);
+ /* NULL, bc we don't care about the length of the string*/
+ id = g_variant_get_string (g_variant_lookup_value (propdict, "Id", G_VARIANT_TYPE_STRING), NULL);
+ model = g_variant_get_string (g_variant_lookup_value (propdict, "Model", G_VARIANT_TYPE_STRING), NULL);
smartenabled = g_variant_get_boolean (g_variant_lookup_value (propdict2, "SmartEnabled", G_VARIANT_TYPE_BOOLEAN));
temp = g_variant_get_double (g_variant_lookup_value (propdict2, "SmartTemperature", G_VARIANT_TYPE_DOUBLE));
@@ -373,14 +372,6 @@ syslog(LOG_ERR, "No temp data for device
g_debug ("No temp data for device: %s\n", key);
}
-
-#ifdef UD2PD
-syslog(LOG_ERR, "b4 free1");
-#endif
-
- g_free (id);
- g_free (model);
-
}
#ifdef UD2PD
|