On Thu, Jul 28, 2016 at 05:44:08PM -0700, Stefan Beller wrote:
> +static const char *remote_submodule_branch(const char *path)
> +{
> + const struct submodule *sub;
> + gitmodules_config();
> + git_config(submodule_config, NULL);
> +
> + sub = submodule_from_path(null_sha1, path);
> + if (!sub->branch)
> + return "master";
> +
> + return sub->branch;
> +}
Coverity complains about "sub" being NULL here, and indeed, it seems
like an easy segfault:
$ ./git submodule--helper remote-branch foo
Segmentation fault
I guess this should return NULL in that case. But then this...
> +static int resolve_remote_submodule_branch(int argc, const char **argv,
> + const char *prefix)
> +{
> + struct strbuf sb = STRBUF_INIT;
> + if (argc != 2)
> + die("submodule--helper remote-branch takes exactly one
> arguments, got %d", argc);
> +
> + printf("%s", remote_submodule_branch(argv[1]));
> + strbuf_release(&sb);
> + return 0;
> +}
would need to handle the NULL return, as well. So maybe "master" or the
empty string would be better. I haven't followed the topic closely
enough to have an opinion.
-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html