Skip to content

Commit

Permalink
Sync with 2.4.9
Browse files Browse the repository at this point in the history
  • Loading branch information
gitster committed Sep 4, 2015
2 parents fb8880d + 74b6763 commit 3d3caf0
Show file tree
Hide file tree
Showing 8 changed files with 60 additions and 27 deletions.
9 changes: 9 additions & 0 deletions Documentation/RelNotes/2.2.3.txt
@@ -0,0 +1,9 @@
Git v2.2.3 Release Notes
========================

Fixes since v2.2.2
------------------

* A handful of codepaths that used to use fixed-sized arrays to hold
pathnames have been corrected to use strbuf and other mechanisms to
allow longer pathnames without fearing overflows.
9 changes: 9 additions & 0 deletions Documentation/RelNotes/2.3.9.txt
@@ -0,0 +1,9 @@
Git v2.3.9 Release Notes
========================

Fixes since v2.3.8
------------------

* A handful of codepaths that used to use fixed-sized arrays to hold
pathnames have been corrected to use strbuf and other mechanisms to
allow longer pathnames without fearing overflows.
9 changes: 9 additions & 0 deletions Documentation/RelNotes/2.4.9.txt
@@ -0,0 +1,9 @@
Git v2.4.9 Release Notes
========================

Fixes since v2.4.9
------------------

* A handful of codepaths that used to use fixed-sized arrays to hold
pathnames have been corrected to use strbuf and other mechanisms to
allow longer pathnames without fearing overflows.
9 changes: 6 additions & 3 deletions Documentation/git.txt
Expand Up @@ -49,9 +49,10 @@ Documentation for older releases are available here:
link:RelNotes/2.5.1.txt[2.5.1],
link:RelNotes/2.5.0.txt[2.5].

* link:v2.4.8/git.html[documentation for release 2.4.8]
* link:v2.4.9/git.html[documentation for release 2.4.9]

* release notes for
link:RelNotes/2.4.9.txt[2.4.9],
link:RelNotes/2.4.8.txt[2.4.8],
link:RelNotes/2.4.7.txt[2.4.7],
link:RelNotes/2.4.6.txt[2.4.6],
Expand All @@ -62,9 +63,10 @@ Documentation for older releases are available here:
link:RelNotes/2.4.1.txt[2.4.1],
link:RelNotes/2.4.0.txt[2.4].

* link:v2.3.8/git.html[documentation for release 2.3.8]
* link:v2.3.9/git.html[documentation for release 2.3.9]

* release notes for
link:RelNotes/2.3.9.txt[2.3.9],
link:RelNotes/2.3.8.txt[2.3.8],
link:RelNotes/2.3.7.txt[2.3.7],
link:RelNotes/2.3.6.txt[2.3.6],
Expand All @@ -75,9 +77,10 @@ Documentation for older releases are available here:
link:RelNotes/2.3.1.txt[2.3.1],
link:RelNotes/2.3.0.txt[2.3].

* link:v2.2.2/git.html[documentation for release 2.2.2]
* link:v2.2.3/git.html[documentation for release 2.2.3]

* release notes for
link:RelNotes/2.2.3.txt[2.2.3],
link:RelNotes/2.2.2.txt[2.2.2],
link:RelNotes/2.2.1.txt[2.2.1],
link:RelNotes/2.2.0.txt[2.2].
Expand Down
6 changes: 4 additions & 2 deletions builtin/show-branch.c
Expand Up @@ -730,7 +730,6 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)

if (reflog) {
struct object_id oid;
char nth_desc[256];
char *ref;
int base = 0;
unsigned int flags = 0;
Expand Down Expand Up @@ -769,6 +768,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)

for (i = 0; i < reflog; i++) {
char *logmsg;
char *nth_desc;
const char *msg;
unsigned long timestamp;
int tz;
Expand All @@ -787,8 +787,10 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
show_date(timestamp, tz, 1),
msg);
free(logmsg);
sprintf(nth_desc, "%s@{%d}", *av, base+i);

nth_desc = xstrfmt("%s@{%d}", *av, base+i);
append_ref(nth_desc, &oid, 1);
free(nth_desc);
}
free(ref);
}
Expand Down
19 changes: 10 additions & 9 deletions notes.c
Expand Up @@ -362,13 +362,14 @@ static int non_note_cmp(const struct non_note *a, const struct non_note *b)
return strcmp(a->path, b->path);
}

static void add_non_note(struct notes_tree *t, const char *path,
/* note: takes ownership of path string */
static void add_non_note(struct notes_tree *t, char *path,
unsigned int mode, const unsigned char *sha1)
{
struct non_note *p = t->prev_non_note, *n;
n = (struct non_note *) xmalloc(sizeof(struct non_note));
n->next = NULL;
n->path = xstrdup(path);
n->path = path;
n->mode = mode;
hashcpy(n->sha1, sha1);
t->prev_non_note = n;
Expand Down Expand Up @@ -482,17 +483,17 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree,
* component.
*/
{
char non_note_path[PATH_MAX];
char *p = non_note_path;
struct strbuf non_note_path = STRBUF_INIT;
const char *q = sha1_to_hex(subtree->key_sha1);
int i;
for (i = 0; i < prefix_len; i++) {
*p++ = *q++;
*p++ = *q++;
*p++ = '/';
strbuf_addch(&non_note_path, *q++);
strbuf_addch(&non_note_path, *q++);
strbuf_addch(&non_note_path, '/');
}
strcpy(p, entry.path);
add_non_note(t, non_note_path, entry.mode, entry.sha1);
strbuf_addstr(&non_note_path, entry.path);
add_non_note(t, strbuf_detach(&non_note_path, NULL),
entry.mode, entry.sha1);
}
}
free(buf);
Expand Down
9 changes: 3 additions & 6 deletions sha1_file.c
Expand Up @@ -377,15 +377,12 @@ void read_info_alternates(const char * relative_base, int depth)
char *map;
size_t mapsz;
struct stat st;
const char alt_file_name[] = "info/alternates";
/* Given that relative_base is no longer than PATH_MAX,
ensure that "path" has enough space to append "/", the
file name, "info/alternates", and a trailing NUL. */
char path[PATH_MAX + 1 + sizeof alt_file_name];
char *path;
int fd;

sprintf(path, "%s/%s", relative_base, alt_file_name);
path = xstrfmt("%s/info/alternates", relative_base);
fd = git_open_noatime(path);
free(path);
if (fd < 0)
return;
if (fstat(fd, &st) || (st.st_size == 0)) {
Expand Down
17 changes: 10 additions & 7 deletions unpack-trees.c
Expand Up @@ -1441,15 +1441,18 @@ static int verify_absent_1(const struct cache_entry *ce,
if (!len)
return 0;
else if (len > 0) {
char path[PATH_MAX + 1];
memcpy(path, ce->name, len);
path[len] = 0;
char *path;
int ret;

path = xmemdupz(ce->name, len);
if (lstat(path, &st))
return error("cannot stat '%s': %s", path,
ret = error("cannot stat '%s': %s", path,
strerror(errno));

return check_ok_to_remove(path, len, DT_UNKNOWN, NULL, &st,
error_type, o);
else
ret = check_ok_to_remove(path, len, DT_UNKNOWN, NULL,
&st, error_type, o);
free(path);
return ret;
} else if (lstat(ce->name, &st)) {
if (errno != ENOENT)
return error("cannot stat '%s': %s", ce->name,
Expand Down

0 comments on commit 3d3caf0

Please sign in to comment.