Am 15.03.2017 um 22:30 schrieb René Scharfe: > Am 15.03.2017 um 10:44 schrieb Zenobiusz Kunegunda: >> $ git bisect bad >> 7333ed1788b4f2b162a35003044d77a716732a1f is the first bad commit >> commit 7333ed1788b4f2b162a35003044d77a716732a1f >> Author: René Scharfe <l.s.r@xxxxxx> >> Date: Mon Jul 28 20:26:40 2014 +0200 >> >> setup: convert setup_git_directory_gently_1 et al. to strbuf > > That's what I half-suspected, and I think by now I got an idea. Here's > a test program: And here's a patch for letting strbuf_getcwd() use the same getcwd(3) extension that pwd(1) uses. It avoids the need to guess the path's length and thus reduces the chance of stumbling over strange error codes. I wonder if it helps in your case. René --- strbuf.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/strbuf.c b/strbuf.c index ace58e7367..4c02801edd 100644 --- a/strbuf.c +++ b/strbuf.c @@ -442,6 +442,14 @@ int strbuf_getcwd(struct strbuf *sb) { size_t oldalloc = sb->alloc; size_t guessed_len = 128; + char *cwd; + + cwd = getcwd(NULL, 0); + if (cwd) { + size_t len = strlen(cwd); + strbuf_attach(sb, cwd, len, len + 1); + return 0; + } for (;; guessed_len *= 2) { strbuf_grow(sb, guessed_len); -- 2.12.0