From 554003b3f160d87bf5f749363045d106a5e2e92e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Mon, 4 Jun 2018 14:27:00 +0200 Subject: [PATCH] srf02: add argc check --- src/drivers/distance_sensor/srf02/srf02.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/drivers/distance_sensor/srf02/srf02.cpp b/src/drivers/distance_sensor/srf02/srf02.cpp index 90f7792aa8..e73149971e 100644 --- a/src/drivers/distance_sensor/srf02/srf02.cpp +++ b/src/drivers/distance_sensor/srf02/srf02.cpp @@ -882,25 +882,27 @@ info() int srf02_main(int argc, char *argv[]) { - // check for optional arguments int ch; int myoptind = 1; const char *myoptarg = nullptr; uint8_t rotation = distance_sensor_s::ROTATION_DOWNWARD_FACING; - while ((ch = px4_getopt(argc, argv, "R:", &myoptind, &myoptarg)) != EOF) { switch (ch) { case 'R': rotation = (uint8_t)atoi(myoptarg); - PX4_INFO("Setting distance sensor orientation to %d", (int)rotation); break; default: PX4_WARN("Unknown option!"); + return -1; } } + if (myoptind >= argc) { + goto out_error; + } + /* * Start/load the driver. */ @@ -936,6 +938,7 @@ srf02_main(int argc, char *argv[]) srf02::info(); } +out_error: PX4_ERR("unrecognized command, try 'start', 'test', 'reset' or 'info'"); return PX4_ERROR; }