Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b39f05a6 authored by Alice Ryhl's avatar Alice Ryhl
Browse files

binderThroughputTest: fail when flag is missing argument



Currently, if the last argument is a flag that requires an argument, the
test will perform an out-of-bounds access. Fix this by returning an
error instead.

Test: ran binderThroughputTest with the given flags
Change-Id: Ida1391f96ccb0482eed2614db99f734b89b49472
Signed-off-by: default avatarAlice Ryhl <aliceryhl@google.com>
parent 8d3b50eb
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -352,16 +352,28 @@ int main(int argc, char *argv[])
            return 0;
        }
        if (string(argv[i]) == "-w") {
            if (i + 1 == argc) {
                cout << "-w requires an argument\n" << endl;
                exit(EXIT_FAILURE);
            }
            workers = atoi(argv[i+1]);
            i++;
            continue;
        }
        if (string(argv[i]) == "-i") {
            if (i + 1 == argc) {
                cout << "-i requires an argument\n" << endl;
                exit(EXIT_FAILURE);
            }
            iterations = atoi(argv[i+1]);
            i++;
            continue;
        }
        if (string(argv[i]) == "-s") {
            if (i + 1 == argc) {
                cout << "-s requires an argument\n" << endl;
                exit(EXIT_FAILURE);
            }
            payload_size = atoi(argv[i+1]);
            i++;
            continue;
@@ -380,6 +392,10 @@ int main(int argc, char *argv[])
            continue;
        }
        if (string(argv[i]) == "-m") {
            if (i + 1 == argc) {
                cout << "-m requires an argument\n" << endl;
                exit(EXIT_FAILURE);
            }
            // Caller specified the max latency in microseconds.
            // No need to run training round in this case.
            max_time_us = atoi(argv[i+1]);