summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/0017-Fix-file-same-comparison.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/genext2fs/genext2fs-1.4.1/0017-Fix-file-same-comparison.patch')
-rw-r--r--meta/recipes-devtools/genext2fs/genext2fs-1.4.1/0017-Fix-file-same-comparison.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/0017-Fix-file-same-comparison.patch b/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/0017-Fix-file-same-comparison.patch
new file mode 100644
index 0000000000..40a7807b0d
--- /dev/null
+++ b/meta/recipes-devtools/genext2fs/genext2fs-1.4.1/0017-Fix-file-same-comparison.patch
@@ -0,0 +1,30 @@
1Upstream-Status: inappropriate
2
3From 33c92a0b663d16d2260b391d39aa745acd4b360e Mon Sep 17 00:00:00 2001
4From: Corey Minyard <cminyard@mvista.com>
5Date: Tue, 7 Jun 2011 07:23:23 -0500
6Subject: [PATCH 17/19] Fix "file same" comparison
7
8It's not enough to check the inode, you also have to check the device
9to make sure a file is the same.
10---
11 genext2fs.c | 3 ++-
12 1 files changed, 2 insertions(+), 1 deletions(-)
13
14diff --git a/genext2fs.c b/genext2fs.c
15index fc7fe5f..485393c 100644
16--- a/genext2fs.c
17+++ b/genext2fs.c
18@@ -2359,7 +2359,8 @@ alloc_fs(int swapit, char *fname, uint32 nbblocks, FILE *srcfile)
19 perror_msg_and_die("fstat srcfile");
20 if (stat(fname, &dststat))
21 perror_msg_and_die("stat-ing %s", fname);
22- if (srcstat.st_ino == dststat.st_ino) {
23+ if (srcstat.st_ino == dststat.st_ino
24+ && srcstat.st_dev == dststat.st_dev) {
25 // source and destination are the same file, don't
26 // truncate or copy, just use the file.
27 fs->f = fopen(fname, "r+b");
28--
291.7.4.1
30