libgtop r2787 - trunk/sysdeps/linux



Author: bdejean
Date: Thu Jan  8 00:37:59 2009
New Revision: 2787
URL: http://svn.gnome.org/viewvc/libgtop?rev=2787&view=rev

Log:
Fixed potential memory leak.
Patch by Vincent Untz <vuntz gnome org>.
Closes #566611.


Modified:
   trunk/sysdeps/linux/fsusage.c

Modified: trunk/sysdeps/linux/fsusage.c
==============================================================================
--- trunk/sysdeps/linux/fsusage.c	(original)
+++ trunk/sysdeps/linux/fsusage.c	Thu Jan  8 00:37:59 2009
@@ -129,29 +129,29 @@
 
 static void linux_2_6_0(glibtop *server, glibtop_fsusage *buf, const char *path)
 {
-	char *filename;
+	char *filename = NULL;
 	const char *format;
 	int ret;
 	char buffer[BUFSIZ];
 	char device[64];
 
 	if (!get_device(server, path, device, sizeof device))
-		return;
+		goto out;
 
 	get_sys_path(server, device, &filename, &format);
 
 	ret = try_file_to_buffer(buffer, sizeof buffer, filename);
 
-	if(ret < 0) return;
+	if (ret < 0) goto out;
 
 	if (sscanf(buffer, format, &buf->read, &buf->write) != 2) {
 		glibtop_warn_io_r(server, "Could not parse %s", filename);
-		return;
+		goto out;
 	}
 
-	g_free(filename);
-
 	buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
+ out:
+	g_free(filename);
 }
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]