here is the fix, in-source as this package doesn't use patch system.
diff -u unhide-20080519/debian/changelog unhide-20080519/debian/changelog
--- unhide-20080519/debian/changelog
+++ unhide-20080519/debian/changelog
@@ -1,3 +1,10 @@
+unhide (20080519-3) unstable; urgency=low
+
+  * Fix fd leak in isfaked() causing crashes in sched_rr_get_interval()
+    (closes: #519730)
+
+ -- Fabien Tassin <f...@sofaraway.org>  Sat, 14 Mar 2009 19:07:11 +0100
+
 unhide (20080519-2) unstable; urgency=low
 
   * Fix watch file
only in patch2:
unchanged:
--- unhide-20080519.orig/unhide-linux26.c
+++ unhide-20080519/unhide-linux26.c
@@ -48,13 +48,13 @@
 			count++;
 		}
 		
-		if ( count > 3 ) { return(1) ;}
+		if ( count > 3 ) { closedir(dirp); return(1) ;}
 	
-		else {return(0);}
+		else { closedir(dirp); return(0);}
 
 	}
 	
-	else {return(0);}
+	else { closedir(dirp); return(0);}
 
 
 }
@@ -77,7 +77,7 @@
 	fich_tmp=popen (COMMAND, "r") ;
 	
 	
-	while (!feof(fich_tmp) && ok == 0) {
+	while (fich_tmp != NULL && !feof(fich_tmp) && ok == 0) {
 		
 		fgets(pids, 30, fich_tmp);
 		
@@ -88,7 +88,8 @@
 		
         }
 	
-	pclose(fich_tmp);
+	if (fich_tmp != NULL)
+		pclose(fich_tmp);
 	
 	if (morechecks == 1) {
 	

Reply via email to