summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2012-02-02 00:05:24 +0100
committerKarel Zak2012-02-02 00:05:24 +0100
commit275c9a4849f5edf92ed0d95ea2b97a5a69a34d26 (patch)
tree9f5015662aa62606a495d8fbb92b0e23906477b7
parentlib/sysfs: fix handle leak (diff)
downloadkernel-qcow2-util-linux-275c9a4849f5edf92ed0d95ea2b97a5a69a34d26.tar.gz
kernel-qcow2-util-linux-275c9a4849f5edf92ed0d95ea2b97a5a69a34d26.tar.xz
kernel-qcow2-util-linux-275c9a4849f5edf92ed0d95ea2b97a5a69a34d26.zip
findmnt: make --poll more robust
Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--config/include-Makefile.am2
-rw-r--r--misc-utils/findmnt.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/config/include-Makefile.am b/config/include-Makefile.am
index 300fe4de1..29760d42f 100644
--- a/config/include-Makefile.am
+++ b/config/include-Makefile.am
@@ -47,4 +47,4 @@ $(ul_libmount_la):
# smatch scan -- smatch and cgcc are expected in $PATH
#
checksmatch:
- $(MAKE) CHECK="smatch --data=$(top_srcdir)/tools/smatch-data" CC=cgcc
+ $(MAKE) CHECK="smatch --data=$(abs_top_srcdir)/tools/smatch-data" CC=cgcc
diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
index 083cfea2c..4a65df990 100644
--- a/misc-utils/findmnt.c
+++ b/misc-utils/findmnt.c
@@ -1150,11 +1150,12 @@ int main(int argc, char *argv[])
/*
* Fill in data to the output table
*/
- if (flags & FL_POLL)
+ if (flags & FL_POLL) {
/* poll mode (accept the first tabfile only) */
- rc = poll_table(tb, *tabfiles, timeout, tt, direction);
+ if (tabfiles && ntabfiles > 0)
+ rc = poll_table(tb, *tabfiles, timeout, tt, direction);
- else if ((tt_flags & TT_FL_TREE) && is_listall_mode())
+ } else if ((tt_flags & TT_FL_TREE) && is_listall_mode())
/* whole tree */
rc = create_treenode(tt, tb, NULL, NULL);
else