> > > diff --git a/transport.c b/transport.c > > > index d57e8de..b1098cd 100644 > > > --- a/transport.c > > > +++ b/transport.c > > > @@ -652,7 +652,7 @@ static const struct string_list *protocol_whitelist(void) > > > > > > if (enabled < 0) { > > > const char *v = getenv("GIT_ALLOW_PROTOCOL"); > > > - if (v) { > > > + if (v || !git_config_get_value("core.allowProtocol", &v)) { > > > string_list_split(&allowed, v, ':', -1); > > > string_list_sort(&allowed); > > > enabled = 1; > > > > I thought at first we'd have to deal with leaking "v", but "get_value" > > is the "raw" version that gives you the uninterpreted value. I think > > that means it may give you NULL, though if we see an implicit bool like: > > > > [core] > > allowProtocol > > > > That's nonsense, of course, but we would still segfault. I > > think the easiest way to test is: > > > > git -c core.allowProtocol fetch > > > > which seems to segfault for me with this patch. > > what is the desired behavior when a user provides a config in a way that > isn't intended? oh...I can just drop in git_config_get_string_const() instead. -- Brandon Williams