diff options
| author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-01-03 21:13:15 +0000 | 
|---|---|---|
| committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-01-03 21:13:15 +0000 | 
| commit | b2d570a78ba003c7ead6096f37f3348b503db634 (patch) | |
| tree | 777630afb8df3141b74f3d1255989b9bff43ca92 /hardinfo2 | |
| parent | 0196020beb33bff391c5810b07a8ce34ce709278 (diff) | |
Plug memleaks.
Diffstat (limited to 'hardinfo2')
| -rw-r--r-- | hardinfo2/arch/linux/common/devmemory.h | 26 | ||||
| -rw-r--r-- | hardinfo2/arch/linux/common/storage.h | 6 | ||||
| -rw-r--r-- | hardinfo2/devices.c | 3 | ||||
| -rw-r--r-- | hardinfo2/shell.c | 2 | 
4 files changed, 21 insertions, 16 deletions
| diff --git a/hardinfo2/arch/linux/common/devmemory.h b/hardinfo2/arch/linux/common/devmemory.h index ca8ec4e6..c7ffdc08 100644 --- a/hardinfo2/arch/linux/common/devmemory.h +++ b/hardinfo2/arch/linux/common/devmemory.h @@ -18,7 +18,7 @@  static void __scan_memory()  { -    gchar **keys; +    gchar **keys, *tmp;      gint i;      g_file_get_contents("/proc/meminfo", &meminfo, NULL, NULL); @@ -26,23 +26,31 @@ static void __scan_memory()      keys = g_strsplit(meminfo, "\n", 0);      g_free(meminfo); -    meminfo = ""; -          g_free(lginterval); -    lginterval = ""; +     +    meminfo = g_strdup(""); +    lginterval = g_strdup("");      for (i = 0; keys[i]; i++) {          gchar **newkeys = g_strsplit(keys[i], ":", 0); -        if (!newkeys[0]) break; +        if (!newkeys[0]) { +            g_strfreev(newkeys); +            break; +        }          g_strstrip(newkeys[1]);          g_hash_table_replace(moreinfo, g_strdup(newkeys[0]), g_strdup(newkeys[1])); -        meminfo = g_strconcat(meminfo, newkeys[0], "=", newkeys[1], "\n", NULL); -        lginterval = g_strconcat(lginterval, -                                 "LoadGraphInterval$", newkeys[0], "=500\n", -                                 "UpdateInterval$", newkeys[0], "=500\n", NULL); +        tmp = g_strconcat(meminfo, newkeys[0], "=", newkeys[1], "\n", NULL); +        g_free(meminfo); +        meminfo = tmp; +         +        tmp = g_strconcat(lginterval, +                          "LoadGraphInterval$", newkeys[0], "=500\n", +                          "UpdateInterval$", newkeys[0], "=500\n", NULL); +        g_free(lginterval); +        lginterval = tmp;          g_strfreev(newkeys);      } diff --git a/hardinfo2/arch/linux/common/storage.h b/hardinfo2/arch/linux/common/storage.h index 8e248d3b..836ba7ea 100644 --- a/hardinfo2/arch/linux/common/storage.h +++ b/hardinfo2/arch/linux/common/storage.h @@ -22,8 +22,6 @@ static gboolean  remove_scsi_devices(gpointer key, gpointer value, gpointer data)  {      if (!strncmp((gchar *) key, "SCSI", 4)) { -	g_free((gchar *) key); -	g_free((GtkTreeIter *) value);  	return TRUE;      }      return FALSE; @@ -150,15 +148,11 @@ static gboolean  remove_ide_devices(gpointer key, gpointer value, gpointer data)  {      if (!strncmp((gchar *) key, "IDE", 3)) { -	g_free((gchar *) key); -	g_free((gchar *) value); -  	return TRUE;      }      return FALSE;  } -  void  __scan_ide_devices(void)  { diff --git a/hardinfo2/devices.c b/hardinfo2/devices.c index 76d5204b..eb4cc3e7 100644 --- a/hardinfo2/devices.c +++ b/hardinfo2/devices.c @@ -291,7 +291,8 @@ callback_memory()                             "ViewType=2\n"                             "RescanInterval=2000\n"                             "%s\n", -                           meminfo, lginterval); +                           meminfo, +                           lginterval);  }  gchar * diff --git a/hardinfo2/shell.c b/hardinfo2/shell.c index 34fd1aea..3259697a 100644 --- a/hardinfo2/shell.c +++ b/hardinfo2/shell.c @@ -973,6 +973,8 @@ module_selected_show_info(ShellModuleEntry * entry, gboolean reload)  	} else {  	    group_handle_normal(key_file, entry, group, keys, ngroups);  	} +	 +	g_strfreev(keys);      }      gtk_tree_view_expand_all(GTK_TREE_VIEW(shell->info->view)); | 
