diff options
author | Jeremy Katz | 2005-04-28 00:05:13 +0200 |
---|---|---|
committer | Ruediger Meier | 2018-06-12 14:22:59 +0200 |
commit | a16d7294a868f4dacb1482d49820f0226e50e949 (patch) | |
tree | 2376000f775f4eb4071e4435c10a6f825d5a69da /misc-utils | |
parent | kill warning (diff) | |
download | kernel-qcow2-util-linux-a16d7294a868f4dacb1482d49820f0226e50e949.tar.gz kernel-qcow2-util-linux-a16d7294a868f4dacb1482d49820f0226e50e949.tar.xz kernel-qcow2-util-linux-a16d7294a868f4dacb1482d49820f0226e50e949.zip |
- don't try to hardlink 0 byte files (#154404)
Diffstat (limited to 'misc-utils')
-rw-r--r-- | misc-utils/hardlink.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/misc-utils/hardlink.c b/misc-utils/hardlink.c index 52cb41f42..7a6cf6f52 100644 --- a/misc-utils/hardlink.c +++ b/misc-utils/hardlink.c @@ -175,7 +175,7 @@ void rf (char *name) fprintf(stderr, "\r%*s\r", (int)strlen(name)+2, ""); return; } - if (fp) { + if (fp && st.st_size > 0) { p = mmap (NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); nmmap++; if (p == (void *)-1) { @@ -191,7 +191,7 @@ void rf (char *name) st2.st_dev == st.st_dev) { int fd2 = open (fp2->name, O_RDONLY); if (fd2 < 0) continue; - if (fstat (fd2, &st2) || !S_ISREG (st2.st_mode)) { + if (fstat (fd2, &st2) || !S_ISREG (st2.st_mode) || st2.st_size == 0) { close (fd2); continue; } |