bug-parted
[Top][All Lists]
Advanced

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

[PATCH] linux: don't leak a FILE* upon /proc read failure


From: Jim Meyering
Subject: [PATCH] linux: don't leak a FILE* upon /proc read failure
Date: Fri, 27 May 2011 13:54:17 +0200

Another, very similar.

>From aff3ed70d47ae8e2da057d00dd3d4ab08b0cf574 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Fri, 27 May 2011 13:53:36 +0200
Subject: [PATCH] linux: don't leak a FILE* upon /proc read failure

* libparted/arch/linux.c (_probe_proc_partitions): Call fclose
upon failure.
---
 libparted/arch/linux.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 6ce6a3f..aeaf98f 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2064,16 +2064,17 @@ _probe_proc_partitions ()
         char            buf [512];
         char            part_name [256];
         char            dev_name [256];
+        int ok = 0;

         proc_part_file = fopen ("/proc/partitions", "r");
         if (!proc_part_file)
                 return 0;

         if (fgets (buf, 256, proc_part_file) == NULL)
-                return 0;
+                goto done;

         if (fgets (buf, 256, proc_part_file) == NULL)
-                return 0;
+                goto done;

         while (fgets (buf, 512, proc_part_file)
                && sscanf (buf, "%d %d %d %255s", &major, &minor, &size,
@@ -2090,8 +2091,10 @@ _probe_proc_partitions ()
                 _ped_device_probe (dev_name);
         }

+        ok = 1;
+ done:
         fclose (proc_part_file);
-        return 1;
+        return ok;
 }

 struct _entry {
--
1.7.5.2.660.g9f46c



reply via email to

[Prev in Thread] Current Thread [Next in Thread]