|
|
87bfed |
From abc0836d587862ba512acf4d4fafcf8cb121bf0a Mon Sep 17 00:00:00 2001
|
|
|
87bfed |
From: =?UTF-8?q?Ond=C5=99ej=20Lyson=C4=9Bk?= <olysonek@redhat.com>
|
|
|
87bfed |
Date: Mon, 13 Aug 2018 14:39:44 +0200
|
|
|
87bfed |
Subject: [PATCH 3/7] Fix file descriptor leaks
|
|
|
87bfed |
MIME-Version: 1.0
|
|
|
87bfed |
Content-Type: text/plain; charset=UTF-8
|
|
|
87bfed |
Content-Transfer-Encoding: 8bit
|
|
|
87bfed |
|
|
|
87bfed |
Signed-off-by: Ondřej Lysoněk <olysonek@redhat.com>
|
|
|
87bfed |
---
|
|
|
87bfed |
src/dial.c | 5 +++++
|
|
|
87bfed |
1 file changed, 5 insertions(+)
|
|
|
87bfed |
|
|
|
87bfed |
diff --git a/src/dial.c b/src/dial.c
|
|
|
87bfed |
index a3337e5..eada5ee 100644
|
|
|
87bfed |
--- a/src/dial.c
|
|
|
87bfed |
+++ b/src/dial.c
|
|
|
87bfed |
@@ -912,6 +912,7 @@ int readdialdir(void)
|
|
|
87bfed |
if (fread(&dial_ver, sizeof(dial_ver), 1, fp) != 1)
|
|
|
87bfed |
{
|
|
|
87bfed |
werror(_("Failed to read dialing directory\n"));
|
|
|
87bfed |
+ fclose(fp);
|
|
|
87bfed |
return -1;
|
|
|
87bfed |
}
|
|
|
87bfed |
if (dial_ver.magic != DIALMAGIC) {
|
|
|
87bfed |
@@ -947,12 +948,14 @@ int readdialdir(void)
|
|
|
87bfed |
dial_ver.size > sizeof(struct v4_dialent)) {
|
|
|
87bfed |
werror(_("Phonelist garbled (unknown version?)"));
|
|
|
87bfed |
dialents = mkstdent();
|
|
|
87bfed |
+ fclose(fp);
|
|
|
87bfed |
return -1;
|
|
|
87bfed |
}
|
|
|
87bfed |
break;
|
|
|
87bfed |
case 5:
|
|
|
87bfed |
if (dial_ver.size != sizeof(struct dialent)) {
|
|
|
87bfed |
werror(_("Phonelist corrupted"));
|
|
|
87bfed |
+ fclose(fp);
|
|
|
87bfed |
return -1;
|
|
|
87bfed |
}
|
|
|
87bfed |
break;
|
|
|
87bfed |
@@ -961,6 +964,7 @@ int readdialdir(void)
|
|
|
87bfed |
// have different size on 32 and 64bit systems
|
|
|
87bfed |
if (dial_ver.size != sizeof(struct dialent) - sizeof(void *)) {
|
|
|
87bfed |
werror(_("Phonelist corrupted"));
|
|
|
87bfed |
+ fclose(fp);
|
|
|
87bfed |
return -1;
|
|
|
87bfed |
}
|
|
|
87bfed |
break;
|
|
|
87bfed |
@@ -968,6 +972,7 @@ int readdialdir(void)
|
|
|
87bfed |
werror(_("Unknown dialing directory version"));
|
|
|
87bfed |
dendd = 1;
|
|
|
87bfed |
dialents = mkstdent();
|
|
|
87bfed |
+ fclose(fp);
|
|
|
87bfed |
return -1;
|
|
|
87bfed |
}
|
|
|
87bfed |
|
|
|
87bfed |
--
|
|
|
87bfed |
2.14.4
|
|
|
87bfed |
|