X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fsupport%2Frmr_probe.c;fp=src%2Fsupport%2Frmr_probe.c;h=61732995a608caca8be415b8d5842656178aa833;hb=cc314e0c526a0ed0ce9295e490b3f2bb29c3332c;hp=f3d5858588de34d81d15dde5d308a6ab7e88d205;hpb=40e32867174c51c9b0ea50dfea19130c468cc200;p=ric-plt%2Flib%2Frmr.git diff --git a/src/support/rmr_probe.c b/src/support/rmr_probe.c index f3d5858..6173299 100644 --- a/src/support/rmr_probe.c +++ b/src/support/rmr_probe.c @@ -124,6 +124,20 @@ static void usage( char* arg0 ) { "\t-v enables some amount of extra verbose output to stderr\n", arg0 ); } +/* + This validates the arg index is in range (< argc). If it is not + valid, the a message is issued and we abort. +*/ +static void vet_ai( int ai, int argc, char* arg0 ) { + if( ai < argc && ai > 0 ) { + return; + } + + fprintf( stderr, "abort: command line parameter(s) missing\n" ); + usage( arg0 ); + exit( 1 ); +} + int main( int argc, char** argv ) { int ai = 1; // arg index int i; @@ -155,16 +169,19 @@ int main( int argc, char** argv ) { switch( argv[ai][1] ) { case 'h': // host:port ai++; + vet_ai( ai, argc, argv[0] ); target = strdup( argv[ai] ); break; case 'n': // num to send ai++; + vet_ai( ai, argc, argv[0] ); num2send = atoi( argv[ai] ); break; case 'p': // num to send ai++; + vet_ai( ai, argc, argv[0] ); listen_port = strdup( argv[ai] ); break; @@ -174,6 +191,7 @@ int main( int argc, char** argv ) { case 't': // timeout ai++; + vet_ai( ai, argc, argv[0] ); max_timeout = atoi( argv[ai] ); break;