mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-10 06:56:25 +00:00
Avoid segfault when opts == NULL
This commit is contained in:
parent
3245896bb7
commit
d29c5412aa
11
src/remote.c
11
src/remote.c
@ -2392,14 +2392,17 @@ int git_remote_upload(git_remote *remote, const git_strarray *refspecs, const gi
|
|||||||
git_push *push;
|
git_push *push;
|
||||||
git_refspec *spec;
|
git_refspec *spec;
|
||||||
const git_remote_callbacks *cbs = NULL;
|
const git_remote_callbacks *cbs = NULL;
|
||||||
|
const git_strarray *custom_headers = NULL;
|
||||||
|
|
||||||
assert(remote);
|
assert(remote);
|
||||||
|
|
||||||
if (opts)
|
if (opts) {
|
||||||
cbs = &opts->callbacks;
|
cbs = &opts->callbacks;
|
||||||
|
custom_headers = &opts->custom_headers;
|
||||||
|
}
|
||||||
|
|
||||||
if (!git_remote_connected(remote) &&
|
if (!git_remote_connected(remote) &&
|
||||||
(error = git_remote_connect(remote, GIT_DIRECTION_PUSH, cbs, &opts->custom_headers)) < 0)
|
(error = git_remote_connect(remote, GIT_DIRECTION_PUSH, cbs, custom_headers)) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
free_refspecs(&remote->active_refspecs);
|
free_refspecs(&remote->active_refspecs);
|
||||||
@ -2448,15 +2451,17 @@ int git_remote_push(git_remote *remote, const git_strarray *refspecs, const git_
|
|||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
const git_remote_callbacks *cbs = NULL;
|
const git_remote_callbacks *cbs = NULL;
|
||||||
|
const git_strarray *custom_headers = NULL;
|
||||||
|
|
||||||
if (opts) {
|
if (opts) {
|
||||||
GITERR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
|
GITERR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
|
||||||
cbs = &opts->callbacks;
|
cbs = &opts->callbacks;
|
||||||
|
custom_headers = &opts->custom_headers;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(remote && refspecs);
|
assert(remote && refspecs);
|
||||||
|
|
||||||
if ((error = git_remote_connect(remote, GIT_DIRECTION_PUSH, cbs, &opts->custom_headers)) < 0)
|
if ((error = git_remote_connect(remote, GIT_DIRECTION_PUSH, cbs, custom_headers)) < 0)
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
if ((error = git_remote_upload(remote, refspecs, opts)) < 0)
|
if ((error = git_remote_upload(remote, refspecs, opts)) < 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user