Fix memory leak on disabled selinux machines.

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

 



I think this patch originally came from Eric Paris and was updated by others but has not been adopted yet. Not sure why.

Always free buf on exit.


--- nsalibselinux/src/init.c	2009-07-14 11:16:03.000000000 -0400
+++ libselinux-2.0.90/src/init.c	2010-02-22 11:04:16.000000000 -0500
@@ -23,7 +23,7 @@
 static void init_selinuxmnt(void)
 {
 	char *buf=NULL, *p;
-	FILE *fp;
+	FILE *fp=NULL;
 	struct statfs sfbuf;
 	int rc;
 	size_t len;
@@ -57,16 +57,17 @@
 			break;
 		}
 	}
-	fclose(fp);
 
-	if (!exists)
-		return;
+	if (!exists) 
+		goto out;
+
+	fclose(fp);
 
 	/* At this point, the usual spot doesn't have an selinuxfs so
 	 * we look around for it */
 	fp = fopen("/proc/mounts", "r");
 	if (!fp)
-		return;
+		goto out;
 
 	__fsetlocking(fp, FSETLOCKING_BYCALLER);
 	while ((num = getline(&buf, &len, fp)) != -1) {
@@ -90,7 +91,8 @@
 
       out:
 	free(buf);
-	fclose(fp);
+	if (fp)
+		fclose(fp);
 	return;
 }
 

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux