From: Darrick J. Wong <djwong@xxxxxxxxxx> I found accidentally that if you do this (note 'rmap', not 'rmapbt'): xfs_db /dev/sda -c 'btheight -n 100 rmap' The program spits back "Numerical result out of range". That's the result of it failing to match "rmap" against a known btree type, and falling back to parsing the string as if it were a btree geometry description. Improve this a little by checking that there's at least one semicolon in the string so that the error message improves to: "rmap: expected a btree geometry specification" Fixes: cb1e69c564c1e0 ("xfs_db: add a function to compute btree geometry") Signed-off-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> --- db/btheight.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/db/btheight.c b/db/btheight.c index 6643489c82c4c9..98165b522e4f6f 100644 --- a/db/btheight.c +++ b/db/btheight.c @@ -145,6 +145,12 @@ construct_records_per_block( } } + p = strchr(tag, ':'); + if (!p) { + fprintf(stderr, _("%s: expected a btree geometry specification.\n"), tag); + return -1; + } + toktag = strdup(tag); ret = -1;