diff options
| author | Ben Straub <bs@github.com> | 2013-01-31 15:24:59 -0800 |
|---|---|---|
| committer | Ben Straub <bs@github.com> | 2013-01-31 15:24:59 -0800 |
| commit | 8c36a3cdba57ce5fb81d81dc3186f3ff9f2702f7 (patch) | |
| tree | ef27dc671eed308632c74f053634cb2ae3ce2a1b | |
| parent | 016179d6681255be0557040f7fd50a917e094fd8 (diff) | |
| download | libgit2-8c36a3cdba57ce5fb81d81dc3186f3ff9f2702f7.tar.gz | |
Remove double-free segfaults
| -rw-r--r-- | src/transports/git.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/transports/git.c b/src/transports/git.c index 21de4d789..a36a0a71c 100644 --- a/src/transports/git.c +++ b/src/transports/git.c @@ -179,7 +179,7 @@ static int _git_uploadpack_ls( const char *url, git_smart_subtransport_stream **stream) { - char *host, *port, *user, *pass; + char *host, *port, *user=NULL, *pass=NULL; git_stream *s; *stream = NULL; @@ -201,8 +201,8 @@ static int _git_uploadpack_ls( t->current_stream = s; git__free(host); git__free(port); - git__free(user); - git__free(pass); + if (user) git__free(user); + if (pass) git__free(pass); return 0; on_error: @@ -235,7 +235,7 @@ static int _git_receivepack_ls( const char *url, git_smart_subtransport_stream **stream) { - char *host, *port, *user, *pass; + char *host, *port, *user=NULL, *pass=NULL; git_stream *s; *stream = NULL; @@ -257,8 +257,8 @@ static int _git_receivepack_ls( t->current_stream = s; git__free(host); git__free(port); - git__free(user); - git__free(pass); + if (user) git__free(user); + if (pass) git__free(pass); return 0; on_error: |
