From ecb62f384f96d0f6ff16215bcac8f41c97a5508d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Povi=C5=A1er?= <povik@cutebit.org>
Date: Mon, 12 Feb 2024 14:56:10 +0100
Subject: [PATCH] driver: Fix crashes on missing cli arguments

---
 kernel/driver.cc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/kernel/driver.cc b/kernel/driver.cc
index 8d9ecc91adc..58da1bc32e3 100644
--- a/kernel/driver.cc
+++ b/kernel/driver.cc
@@ -92,8 +92,15 @@ int getopt(int argc, char **argv, const char *optstring)
 		return optopt;
 	}
 
-	optarg = argv[++optind];
+	if (++optind >= argc) {
+		fprintf(stderr, "%s: option '-%c' expects an argument\n", argv[0], optopt);
+		optopt = '?';
+		return optopt;
+	}
+
+	optarg = argv[optind];
 	optind++, optcur = 1;
+
 	return optopt;
 }