Commit ecc722c3 by Wilhelm Bierbaum

Fix a string parsing bug when validating extensions from the configuration

As builtin extensions are evaluated in the latter half of `check_valid_extension`, a string `cfg` is concatenated with the static string 'extension.' and the value from `builtin_extension`, before being compared with the configured value. This string is not being cleared while iterating through the names of the extensions. Because there is currently only one extension ('noop'), the bug was never noticible.

This patch corrects the behavior by clearing the string on each iteration, as is done in the first block.
parent 2a0d0bd1
......@@ -1462,6 +1462,7 @@ static int check_valid_extension(const git_config_entry *entry, void *payload)
}
for (i = 0; i < ARRAY_SIZE(builtin_extensions); i++) {
git_str_clear(&cfg);
extension = builtin_extensions[i];
if ((error = git_str_printf(&cfg, "extensions.%s", extension)) < 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment