Check if a line of the header has enough characters to possibly
contain the requested prefix.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
Noticed by debugging git-log crash in broken repos with
missing packs. It happened to be up in backtrace.
At the moment the optimization is actually a slow down:
no line in the header is shorter than the only key this
function is ever asked for: encoding. But, in case the
function ever gets asked for something longer, the old
condition is just wrong: it does not take into account
the amount of data in the line when comparing with key.
commit.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/commit.c b/commit.c
index aa7059c..d01833d 100644
--- a/commit.c
+++ b/commit.c
@@ -638,7 +638,9 @@ static char *get_header(const struct commit *commit, const char *key)
next = NULL;
} else
next = eol + 1;
- if (!strncmp(line, key, key_len) && line[key_len] == ' ') {
+ if (eol - line > key_len &&
+ !strncmp(line, key, key_len) &&
+ line[key_len] == ' ') {
int len = eol - line - key_len;
char *ret = xmalloc(len);
memcpy(ret, line + key_len + 1, len - 1);
--
1.5.2.rc1.21.g80e79
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Andy Whitcroft | clam |
| Ingo Molnar | [patch] paravirt: VDSO page is essential |
git: | |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Lovich, Vitali | RE: [PATCH] Packet socket: mmapped IO: PACKET_TX_RING |
| David Miller | [GIT]: Networking |
