Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Fix potentially dangerous uses of mkpath and git_path
author
Alex Riesen
<raa.lkml@gmail.com>
Sun, 26 Oct 2008 22:08:52 +0000
(23:08 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 27 Oct 2008 05:25:09 +0000
(22:25 -0700)
Replace them with mksnpath/git_snpath and a local buffer
for the resulting string.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-for-each-ref.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
356af64
)
diff --git
a/builtin-for-each-ref.c
b/builtin-for-each-ref.c
index fa6c1ed75285649943e0e62ee0b66ef146dda517..e46b7adc9719e147536398e8e365d6d3e65a4ba7 100644
(file)
--- a/
builtin-for-each-ref.c
+++ b/
builtin-for-each-ref.c
@@
-620,14
+620,16
@@
static char *get_short_ref(struct refinfo *ref)
for (j = 0; j < i; j++) {
const char *rule = ref_rev_parse_rules[j];
unsigned char short_objectname[20];
for (j = 0; j < i; j++) {
const char *rule = ref_rev_parse_rules[j];
unsigned char short_objectname[20];
+ char refname[PATH_MAX];
/*
* the short name is ambiguous, if it resolves
* (with this previous rule) to a valid ref
* read_ref() returns 0 on success
*/
/*
* the short name is ambiguous, if it resolves
* (with this previous rule) to a valid ref
* read_ref() returns 0 on success
*/
- if (!read_ref(mkpath(rule, short_name_len, short_name),
- short_objectname))
+ mksnpath(refname, sizeof(refname),
+ rule, short_name_len, short_name);
+ if (!read_ref(refname, short_objectname))
break;
}
break;
}