diff options
author | Brandon Williams <bmwill@google.com> | 2018-03-15 10:31:36 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-03-15 12:01:09 -0700 |
commit | f08a5d42ea0567af12e703948b6859e30129ec1c (patch) | |
tree | 0de640aad5aae1d040caf17ab548714cfa1b6453 /remote-curl.c | |
parent | f1f4d8acf400912a9e2a7b97080afced56719c29 (diff) | |
download | git-f08a5d42ea0567af12e703948b6859e30129ec1c.tar.gz |
remote-curl: create copy of the service name
Make a copy of the service name being requested instead of relying on
the buffer pointed to by the passed in 'const char *' to remain
unchanged.
Currently, all service names are string constants, but a subsequent
patch will introduce service names from external sources.
Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote-curl.c')
-rw-r--r-- | remote-curl.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/remote-curl.c b/remote-curl.c index dae8a4a48d..4086aa733b 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -165,7 +165,7 @@ static int set_option(const char *name, const char *value) } struct discovery { - const char *service; + char *service; char *buf_alloc; char *buf; size_t len; @@ -257,6 +257,7 @@ static void free_discovery(struct discovery *d) free(d->shallow.oid); free(d->buf_alloc); free_refs(d->refs); + free(d->service); free(d); } } @@ -343,7 +344,7 @@ static struct discovery *discover_refs(const char *service, int for_push) warning(_("redirecting to %s"), url.buf); last= xcalloc(1, sizeof(*last_discovery)); - last->service = service; + last->service = xstrdup(service); last->buf_alloc = strbuf_detach(&buffer, &last->len); last->buf = last->buf_alloc; |