aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-05-24 19:01:50 -0700
committerJunio C Hamano <junkio@cox.net>2007-05-24 19:01:50 -0700
commit76026200eee9fea016c2d87f472bb13cb15f47b2 (patch)
tree0c1f5eb37f018f48f355daf27fcbfb7c2a755858
parenta21f0f0a22c513130f1268e3296dd52d47d2f0e0 (diff)
parent0b1f113075aafb0c91a406d984d0152e55c981da (diff)
downloadgit-76026200eee9fea016c2d87f472bb13cb15f47b2.tar.gz
git-76026200eee9fea016c2d87f472bb13cb15f47b2.tar.xz
Merge branch 'maint-1.5.1' into maint
* maint-1.5.1: fix memory leak in parse_object when check_sha1_signature fails name-rev: tolerate clock skew in committer dates
-rw-r--r--builtin-name-rev.c4
-rw-r--r--object.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/builtin-name-rev.c b/builtin-name-rev.c
index ef1638590..2d94eaaa6 100644
--- a/builtin-name-rev.c
+++ b/builtin-name-rev.c
@@ -4,6 +4,8 @@
#include "tag.h"
#include "refs.h"
+#define CUTOFF_DATE_SLOP 86400 /* one day */
+
static const char name_rev_usage[] =
"git-name-rev [--tags | --refs=<pattern>] ( --all | --stdin | committish [committish...] )\n";
@@ -208,6 +210,8 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix)
add_object_array((struct object *)commit, *argv, &revs);
}
+ if (cutoff)
+ cutoff = cutoff - CUTOFF_DATE_SLOP;
for_each_ref(name_ref, &data);
if (transform_stdin) {
diff --git a/object.c b/object.c
index 37d136335..cfc4969ed 100644
--- a/object.c
+++ b/object.c
@@ -176,6 +176,7 @@ struct object *parse_object(const unsigned char *sha1)
if (buffer) {
struct object *obj;
if (check_sha1_signature(sha1, buffer, size, typename(type)) < 0) {
+ free(buffer);
error("sha1 mismatch %s\n", sha1_to_hex(sha1));
return NULL;
}