mirror of
https://github.com/git/git.git
synced 2026-01-11 13:23:12 +09:00
strbuf_readlink(): support link targets that exceed PATH_MAX
The `strbuf_readlink()` function refuses to read link targets that exceed PATH_MAX (even if a sufficient size was specified by the caller). As some platforms (*cough* Windows *cough*) support longer paths, remove this restriction (similar to `strbuf_getcwd()`). Signed-off-by: Karsten Blees <blees@dcon.de> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ac2339de65
commit
5f09f93726
4
strbuf.c
4
strbuf.c
@ -566,8 +566,6 @@ ssize_t strbuf_write(struct strbuf *sb, FILE *f)
|
||||
return sb->len ? fwrite(sb->buf, 1, sb->len, f) : 0;
|
||||
}
|
||||
|
||||
#define STRBUF_MAXLINK (2*PATH_MAX)
|
||||
|
||||
int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint)
|
||||
{
|
||||
size_t oldalloc = sb->alloc;
|
||||
@ -575,7 +573,7 @@ int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint)
|
||||
if (hint < 32)
|
||||
hint = 32;
|
||||
|
||||
while (hint < STRBUF_MAXLINK) {
|
||||
for (;;) {
|
||||
ssize_t len;
|
||||
|
||||
strbuf_grow(sb, hint + 1);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user