Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
resolve_ref_unsafe(): use for loop to count up to MAXDEPTH
author
Michael Haggerty
<mhagger@alum.mit.edu>
Thu, 7 Apr 2016 19:02:56 +0000
(15:02 -0400)
committer
Junio C Hamano
<gitster@pobox.com>
Sun, 10 Apr 2016 18:35:15 +0000
(11:35 -0700)
The loop's there anyway; we might as well use it.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs/files-backend.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
419c6f4
)
diff --git
a/refs/files-backend.c
b/refs/files-backend.c
index c0cf6fd6c069d3cfa3f4506a5f691a111e31211d..101abba8d188c81ab431225131cedf8b0a3ed654 100644
(file)
--- a/
refs/files-backend.c
+++ b/
refs/files-backend.c
@@
-1400,8
+1400,8
@@
static const char *resolve_ref_1(const char *refname,
struct strbuf *sb_path,
struct strbuf *sb_contents)
{
struct strbuf *sb_path,
struct strbuf *sb_contents)
{
- int depth = MAXDEPTH;
int bad_name = 0;
int bad_name = 0;
+ int symref_count;
if (flags)
*flags = 0;
if (flags)
*flags = 0;
@@
-1425,17
+1425,13
@@
static const char *resolve_ref_1(const char *refname,
*/
bad_name = 1;
}
*/
bad_name = 1;
}
- for (;;) {
+
+ for (symref_count = 0; symref_count < MAXDEPTH; symref_count++) {
const char *path;
struct stat st;
char *buf;
int fd;
const char *path;
struct stat st;
char *buf;
int fd;
- if (--depth < 0) {
- errno = ELOOP;
- return NULL;
- }
-
strbuf_reset(sb_path);
strbuf_git_path(sb_path, "%s", refname);
path = sb_path->buf;
strbuf_reset(sb_path);
strbuf_git_path(sb_path, "%s", refname);
path = sb_path->buf;
@@
-1566,6
+1562,9
@@
static const char *resolve_ref_1(const char *refname,
bad_name = 1;
}
}
bad_name = 1;
}
}
+
+ errno = ELOOP;
+ return NULL;
}
const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
}
const char *resolve_ref_unsafe(const char *refname, int resolve_flags,