summaryrefslogtreecommitdiffstats
path: root/misc-utils/findmnt.c
diff options
context:
space:
mode:
authorKarel Zak2011-07-27 16:21:11 +0200
committerKarel Zak2011-07-27 16:21:11 +0200
commitbdc3ed6678f229819bd6ee583745e63c1714fe5d (patch)
tree3c678cca8fecdd83c6b7ee48f253f6ebfaeceadf /misc-utils/findmnt.c
parentbuild-sys: fix gtk-doc distclean (diff)
downloadkernel-qcow2-util-linux-bdc3ed6678f229819bd6ee583745e63c1714fe5d.tar.gz
kernel-qcow2-util-linux-bdc3ed6678f229819bd6ee583745e63c1714fe5d.tar.xz
kernel-qcow2-util-linux-bdc3ed6678f229819bd6ee583745e63c1714fe5d.zip
include; [tt.c] check for array size in columns parser
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/findmnt.c')
-rw-r--r--misc-utils/findmnt.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c
index 86f3fd687..2dbb60e5a 100644
--- a/misc-utils/findmnt.c
+++ b/misc-utils/findmnt.c
@@ -897,19 +897,25 @@ int main(int argc, char *argv[])
disable_columns_truncate();
break;
case 'o':
- if (tt_parse_columns_list(optarg, columns, &ncolumns,
- column_name_to_id))
+ ncolumns = tt_parse_columns_list(
+ optarg,
+ columns, ARRAY_SIZE(columns),
+ column_name_to_id);
+ if (ncolumns < 0)
exit(EXIT_FAILURE);
break;
case 'O':
set_match(COL_OPTIONS, optarg);
break;
case 'p':
- if (optarg &&
- tt_parse_columns_list(optarg, actions, &nactions,
- poll_action_name_to_id))
- exit(EXIT_FAILURE);
-
+ if (optarg) {
+ nactions = tt_parse_columns_list(
+ optarg,
+ actions, ARRAY_SIZE(actions),
+ poll_action_name_to_id);
+ if (nactions < 0)
+ exit(EXIT_FAILURE);
+ }
flags |= FL_POLL;
tt_flags &= ~TT_FL_TREE;
break;