test-config verifies that the correct number of arguments was given for
all of its commands except for 'configset_get_value' and
'configset_get_value_multi'. Add the check to these two, so that we
properly report missing arguments and prevent out-of-bounds access to
argv[].
Signed-off-by: Matheus Tavares <redacted>
---
t/helper/test-config.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/helper/test-config.c b/t/helper/test-config.c
index 9e9d50099a..26d9c2ac4c 100644
--- a/t/helper/test-config.c
+++ b/t/helper/test-config.c
@@ -138,7 +138,7 @@ int cmd__config(int argc, const char **argv)
printf("Value not found for \"%s\"\n", argv[2]);
goto exit1;
}
- } else if (!strcmp(argv[1], "configset_get_value")) {
+ } else if (argc >= 3 && !strcmp(argv[1], "configset_get_value")) {
for (i = 3; i < argc; i++) {
int err;
if ((err = git_configset_add_file(&cs, argv[i]))) {@@ -156,7 +156,7 @@ int cmd__config(int argc, const char **argv)
printf("Value not found for \"%s\"\n", argv[2]);
goto exit1;
}
- } else if (!strcmp(argv[1], "configset_get_value_multi")) {
+ } else if (argc >= 3 && !strcmp(argv[1], "configset_get_value_multi")) {
for (i = 3; i < argc; i++) {
int err;
if ((err = git_configset_add_file(&cs, argv[i]))) {--
2.28.0