From eabfac71d6fcdcaf53652b368906b2ca756b12f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Mon, 4 Jun 2018 14:27:33 +0200 Subject: [PATCH] teraranger: add argc check and fix argv index --- src/drivers/distance_sensor/teraranger/teraranger.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/drivers/distance_sensor/teraranger/teraranger.cpp b/src/drivers/distance_sensor/teraranger/teraranger.cpp index 5b23479a80..1552fa801f 100644 --- a/src/drivers/distance_sensor/teraranger/teraranger.cpp +++ b/src/drivers/distance_sensor/teraranger/teraranger.cpp @@ -950,14 +950,18 @@ teraranger_main(int argc, char *argv[]) switch (ch) { case 'R': rotation = (uint8_t)atoi(myoptarg); - PX4_INFO("Setting sensor orientation to %d", (int)rotation); break; default: PX4_WARN("Unknown option!"); + return -1; } } + if (myoptind >= argc) { + goto out_error; + } + /* * Start/load the driver. */ @@ -989,10 +993,11 @@ teraranger_main(int argc, char *argv[]) /* * Print driver information. */ - if (!strcmp(argv[myoptind], "info") || !strcmp(argv[1], "status")) { + if (!strcmp(argv[myoptind], "info") || !strcmp(argv[myoptind], "status")) { teraranger::info(); } +out_error: PX4_ERR("unrecognized command, try 'start', 'test', 'reset' or 'info'"); - return PX4_ERROR; + return -1; }