diff --git a/src/settings.c b/src/settings.c index da99b59e2..d7341abe8 100644 --- a/src/settings.c +++ b/src/settings.c @@ -181,6 +181,9 @@ int git_libgit2_opts(int key, ...) } break; + default: + giterr_set(GITERR_INVALID, "invalid option key"); + error = -1; } va_end(ap); diff --git a/tests/core/opts.c b/tests/core/opts.c index 3173c648b..72408cbe8 100644 --- a/tests/core/opts.c +++ b/tests/core/opts.c @@ -17,3 +17,9 @@ void test_core_opts__readwrite(void) cl_assert(new_val == old_val); } + +void test_core_opts__invalid_option(void) +{ + cl_git_fail(git_libgit2_opts(-1, "foobar")); +} +