<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/http-push.c, branch v2.4.9</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.4.9</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.4.9'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-03-27T20:02:32Z</updated>
<entry>
<title>Merge branch 'sb/leaks'</title>
<updated>2015-03-27T20:02:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-27T20:02:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=553c622b685f0a7a83c77617377f08019d76c682'/>
<id>urn:sha1:553c622b685f0a7a83c77617377f08019d76c682</id>
<content type='text'>
* sb/leaks:
  http: release the memory of a http pack request as well
  read-cache: fix memleak
  add_to_index(): free unused cache-entry
  commit.c: fix a memory leak
  http-push: remove unneeded cleanup
  merge-recursive: fix memleaks
  merge-blobs.c: fix a memleak
  builtin/apply.c: fix a memleak
  update-index: fix a memleak
  read-cache: free cache entry in add_to_index in case of early return
</content>
</entry>
<entry>
<title>http-push: remove unneeded cleanup</title>
<updated>2015-03-23T18:12:58Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2015-03-21T00:28:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e280888cfb5c0fb5b75acaab04aa2ca28da3225b'/>
<id>urn:sha1:e280888cfb5c0fb5b75acaab04aa2ca28da3225b</id>
<content type='text'>
preq is NULL as the condition the line before dictates. And the cleanup
function release_http_pack_request is not null pointer safe.

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/deflate-init-cleanup'</title>
<updated>2015-03-17T23:01:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-17T23:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6902c4da5855cead535b280a1734771a6fac90e4'/>
<id>urn:sha1:6902c4da5855cead535b280a1734771a6fac90e4</id>
<content type='text'>
Code simplification.

* rs/deflate-init-cleanup:
  zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw}
</content>
</entry>
<entry>
<title>zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw}</title>
<updated>2015-03-05T23:46:03Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2015-03-05T22:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9a6f1287fb69c46c7895f987ffea558b13ae79d1'/>
<id>urn:sha1:9a6f1287fb69c46c7895f987ffea558b13ae79d1</id>
<content type='text'>
Clear the git_zstream variable at the start of git_deflate_init() etc.
so that callers don't have to do that.

Signed-off-by: Rene Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http-push: trim trailing newline from remote symref</title>
<updated>2015-01-14T18:28:02Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-01-13T02:28:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f6786c8dcba34d0cea54a065efd79af678cb8dea'/>
<id>urn:sha1:f6786c8dcba34d0cea54a065efd79af678cb8dea</id>
<content type='text'>
When we fetch a symbolic ref file from the remote, we get
the whole string "ref: refs/heads/master\n", recognize it by
skipping past the "ref: ", and store the rest. We should
chomp the trailing newline.

This bug was introduced in ae021d8 (use skip_prefix to avoid
magic numbers, 2014-06-18), which did not notice that the
length computation fed to xmemdupz was quietly tweaked by 1
to account for this.

We can solve it by explicitly trimming the newline, which is
more obvious. Note that we use strbuf_rtrim here, which will
actually cut off any trailing whitespace, not just a single
newline. This is a good thing, though, as it makes our
parsing more liberal (and spaces are not valid in refnames
anyway).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Tested-by: Kyle J. McKay &lt;mackyle@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ah/fix-http-push' into maint</title>
<updated>2014-07-22T17:29:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-22T17:29:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cd989a97ec5bdb612693fbbed98b7adeb52a83a0'/>
<id>urn:sha1:cd989a97ec5bdb612693fbbed98b7adeb52a83a0</id>
<content type='text'>
* ah/fix-http-push:
  http-push.c: make CURLOPT_IOCTLDATA a usable pointer
</content>
</entry>
<entry>
<title>Merge branch 'ah/fix-http-push'</title>
<updated>2014-07-16T18:33:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-16T18:33:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d9037eae7e67680016b92e2113e4ab4878660345'/>
<id>urn:sha1:d9037eae7e67680016b92e2113e4ab4878660345</id>
<content type='text'>
An ancient rewrite passed a wrong pointer to a curl library
function in a rarely used code path.

* ah/fix-http-push:
  http-push.c: make CURLOPT_IOCTLDATA a usable pointer
</content>
</entry>
<entry>
<title>http-push.c: make CURLOPT_IOCTLDATA a usable pointer</title>
<updated>2014-07-14T00:57:59Z</updated>
<author>
<name>Abbaad Haider</name>
<email>abbaad@gmail.com</email>
</author>
<published>2014-07-06T00:43:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=479eaa8ef8384d8026dc05c1288e96ffd9e296d6'/>
<id>urn:sha1:479eaa8ef8384d8026dc05c1288e96ffd9e296d6</id>
<content type='text'>
Fixes a small bug affecting push to remotes which use some sort of
multi-pass authentication. In particular the bug affected SabreDAV as
configured by Box.com [1].

It must be a weird server configuration for the bug to have survived
this long. Someone should write a test for it.

[1] http://marc.info/?l=git&amp;m=140460482604482

Signed-off-by: Abbaad Haider &lt;abbaad@gmail.com&gt;
Reviewed-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/xstrfmt'</title>
<updated>2014-07-09T18:34:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-07-09T18:34:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3b8e8af187cb86ed030432f1a067121fdd4b1c3b'/>
<id>urn:sha1:3b8e8af187cb86ed030432f1a067121fdd4b1c3b</id>
<content type='text'>
* jk/xstrfmt:
  setup_git_env(): introduce git_path_from_env() helper
  unique_path: fix unlikely heap overflow
  walker_fetch: fix minor memory leak
  merge: use argv_array when spawning merge strategy
  sequencer: use argv_array_pushf
  setup_git_env: use git_pathdup instead of xmalloc + sprintf
  use xstrfmt to replace xmalloc + strcpy/strcat
  use xstrfmt to replace xmalloc + sprintf
  use xstrdup instead of xmalloc + strcpy
  use xstrfmt in favor of manual size calculations
  strbuf: add xstrfmt helper
</content>
</entry>
<entry>
<title>http-push: refactor parsing of remote object names</title>
<updated>2014-06-20T17:45:19Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2014-06-19T21:58:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=67a31f612830e79fe768ac886ed9ef7eadd8fb10'/>
<id>urn:sha1:67a31f612830e79fe768ac886ed9ef7eadd8fb10</id>
<content type='text'>
We get loose object names like "objects/??/..." from the
remote side, and need to convert them to their hex
representation.

The code to do so is rather hard to follow, as it uses some
calculated lengths whose origins are hard to understand and
verify (e.g., the path must be exactly 49 characters long.
why? Why doesn't the strcpy overflow obj_hex, which is the
same length as path?).

We can simplify this a bit by using skip_prefix, using standard
40- and 20-character buffers for hex and binary sha1s, and
adding some comments.

We also drop a totally bogus comment that claims strlcpy
cannot be used because "path" is not NUL-terminated. Right
between a call to strlen(path) and strcpy(path).

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
