summaryrefslogtreecommitdiffstats
path: root/source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch')
-rw-r--r--source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch88
1 files changed, 0 insertions, 88 deletions
diff --git a/source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch b/source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch
deleted file mode 100644
index 7b4e418e6..000000000
--- a/source/ap/dmidecode/patches/0003-Fix-error-paths-in-mem_chunk.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 458f73d58c24a7addce82bf1e8bfb8c2554ca458 Mon Sep 17 00:00:00 2001
-From: Jean Delvare <jdelvare@suse.de>
-Date: Wed, 14 Oct 2015 14:37:09 +0200
-Subject: [PATCH 3/9] Fix error paths in mem_chunk
-
-Use a common error path in function mem_chunk, to make sure it does
-not leak memory and does not leave an opened file descriptor behind,
-without duplicating the cleaning code.
----
- CHANGELOG | 1 +
- util.c | 24 ++++++++++--------------
- 2 files changed, 11 insertions(+), 14 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index aa1c28f..c940c9f 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -3,6 +3,7 @@
- * util.c: Avoid SIGBUS on mmap failure.
- This fixes Savannah bug #46066:
- https://savannah.nongnu.org/bugs/?46066
-+ * util.c: Fix error paths in mem_chunk.
-
- 2015-10-01 Roy Franz <roy.franz@linaro.org>
-
-diff --git a/util.c b/util.c
-index 5795d02..f97ac0d 100644
---- a/util.c
-+++ b/util.c
-@@ -166,7 +166,7 @@ void *mem_chunk(off_t base, size_t len, const char *devmem)
- if ((p = malloc(len)) == NULL)
- {
- perror("malloc");
-- return NULL;
-+ goto out;
- }
-
- #ifdef USE_MMAP
-@@ -174,8 +174,7 @@ void *mem_chunk(off_t base, size_t len, const char *devmem)
- {
- fprintf(stderr, "%s: ", devmem);
- perror("stat");
-- free(p);
-- return NULL;
-+ goto err_free;
- }
-
- /*
-@@ -186,8 +185,7 @@ void *mem_chunk(off_t base, size_t len, const char *devmem)
- {
- fprintf(stderr, "mmap: Can't map beyond end of file %s\n",
- devmem);
-- free(p);
-- return NULL;
-+ goto err_free;
- }
-
- #ifdef _SC_PAGESIZE
-@@ -220,19 +218,17 @@ try_read:
- {
- fprintf(stderr, "%s: ", devmem);
- perror("lseek");
-- free(p);
-- return NULL;
-+ goto err_free;
- }
-
-- if (myread(fd, p, len, devmem) == -1)
-- {
-- free(p);
-- return NULL;
-- }
-+ if (myread(fd, p, len, devmem) == 0)
-+ goto out;
-+
-+err_free:
-+ free(p);
-+ p = NULL;
-
--#ifdef USE_MMAP
- out:
--#endif
- if (close(fd) == -1)
- perror(devmem);
-
---
-2.6.4
-