mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
git-mailinfo: Fix getting the subject from the in-body [PATCH] line
"Subject: " isn't in the static array "header", and thus memcmp("Subject:", header[i], 7) will never match. Even if it did so, hdr_data[] may not have been allocated if there weren't a "Subject: " in-body when we process "[PATCH]" in the affected codepath. Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b4958181a9
commit
e9fe804a82
@ -334,7 +334,9 @@ static int check_header(char *line, unsigned linesize, char **hdr_data, int over
|
|||||||
return 1;
|
return 1;
|
||||||
if (!memcmp("[PATCH]", line, 7) && isspace(line[7])) {
|
if (!memcmp("[PATCH]", line, 7) && isspace(line[7])) {
|
||||||
for (i = 0; header[i]; i++) {
|
for (i = 0; header[i]; i++) {
|
||||||
if (!memcmp("Subject: ", header[i], 9)) {
|
if (!memcmp("Subject", header[i], 7)) {
|
||||||
|
if (!hdr_data[i])
|
||||||
|
hdr_data[i] = xmalloc(linesize + 20);
|
||||||
if (! handle_header(line, hdr_data[i], 0)) {
|
if (! handle_header(line, hdr_data[i], 0)) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ test_expect_success 'split sample box' \
|
|||||||
'git mailsplit -o. ../t5100/sample.mbox >last &&
|
'git mailsplit -o. ../t5100/sample.mbox >last &&
|
||||||
last=`cat last` &&
|
last=`cat last` &&
|
||||||
echo total is $last &&
|
echo total is $last &&
|
||||||
test `cat last` = 9'
|
test `cat last` = 10'
|
||||||
|
|
||||||
for mail in `echo 00*`
|
for mail in `echo 00*`
|
||||||
do
|
do
|
||||||
|
35
t/t5100/0010
Normal file
35
t/t5100/0010
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From b9704a518e21158433baa2cc2d591fea687967f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Lukas=20Sandstr=C3=B6m?= <lukass@etek.chalmers.se>
|
||||||
|
Date: Thu, 10 Jul 2008 23:41:33 +0200
|
||||||
|
Subject: Re: discussion that lead to this patch
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
[PATCH] git-mailinfo: Fix getting the subject from the body
|
||||||
|
|
||||||
|
"Subject: " isn't in the static array "header", and thus
|
||||||
|
memcmp("Subject: ", header[i], 7) will never match.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
|
||||||
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||||||
|
---
|
||||||
|
builtin-mailinfo.c | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
|
||||||
|
index 962aa34..2d1520f 100644
|
||||||
|
--- a/builtin-mailinfo.c
|
||||||
|
+++ b/builtin-mailinfo.c
|
||||||
|
@@ -334,7 +334,7 @@ static int check_header(char *line, unsigned linesize, char **hdr_data, int over
|
||||||
|
return 1;
|
||||||
|
if (!memcmp("[PATCH]", line, 7) && isspace(line[7])) {
|
||||||
|
for (i = 0; header[i]; i++) {
|
||||||
|
- if (!memcmp("Subject: ", header[i], 9)) {
|
||||||
|
+ if (!memcmp("Subject", header[i], 7)) {
|
||||||
|
if (! handle_header(line, hdr_data[i], 0)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.5.6.2.455.g1efb2
|
||||||
|
|
5
t/t5100/info0010
Normal file
5
t/t5100/info0010
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Author: Lukas Sandström
|
||||||
|
Email: lukass@etek.chalmers.se
|
||||||
|
Subject: git-mailinfo: Fix getting the subject from the body
|
||||||
|
Date: Thu, 10 Jul 2008 23:41:33 +0200
|
||||||
|
|
5
t/t5100/msg0010
Normal file
5
t/t5100/msg0010
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
"Subject: " isn't in the static array "header", and thus
|
||||||
|
memcmp("Subject: ", header[i], 7) will never match.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
|
||||||
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
20
t/t5100/patch0010
Normal file
20
t/t5100/patch0010
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
builtin-mailinfo.c | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
|
||||||
|
index 962aa34..2d1520f 100644
|
||||||
|
--- a/builtin-mailinfo.c
|
||||||
|
+++ b/builtin-mailinfo.c
|
||||||
|
@@ -334,7 +334,7 @@ static int check_header(char *line, unsigned linesize, char **hdr_data, int over
|
||||||
|
return 1;
|
||||||
|
if (!memcmp("[PATCH]", line, 7) && isspace(line[7])) {
|
||||||
|
for (i = 0; header[i]; i++) {
|
||||||
|
- if (!memcmp("Subject: ", header[i], 9)) {
|
||||||
|
+ if (!memcmp("Subject", header[i], 7)) {
|
||||||
|
if (! handle_header(line, hdr_data[i], 0)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.5.6.2.455.g1efb2
|
||||||
|
|
@ -430,3 +430,38 @@ index b426a14..97756ec 100644
|
|||||||
=20
|
=20
|
||||||
=20
|
=20
|
||||||
2. When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
|
2. When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
|
||||||
|
From b9704a518e21158433baa2cc2d591fea687967f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Lukas=20Sandstr=C3=B6m?= <lukass@etek.chalmers.se>
|
||||||
|
Date: Thu, 10 Jul 2008 23:41:33 +0200
|
||||||
|
Subject: Re: discussion that lead to this patch
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
[PATCH] git-mailinfo: Fix getting the subject from the body
|
||||||
|
|
||||||
|
"Subject: " isn't in the static array "header", and thus
|
||||||
|
memcmp("Subject: ", header[i], 7) will never match.
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
|
||||||
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
||||||
|
---
|
||||||
|
builtin-mailinfo.c | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
|
||||||
|
index 962aa34..2d1520f 100644
|
||||||
|
--- a/builtin-mailinfo.c
|
||||||
|
+++ b/builtin-mailinfo.c
|
||||||
|
@@ -334,7 +334,7 @@ static int check_header(char *line, unsigned linesize, char **hdr_data, int over
|
||||||
|
return 1;
|
||||||
|
if (!memcmp("[PATCH]", line, 7) && isspace(line[7])) {
|
||||||
|
for (i = 0; header[i]; i++) {
|
||||||
|
- if (!memcmp("Subject: ", header[i], 9)) {
|
||||||
|
+ if (!memcmp("Subject", header[i], 7)) {
|
||||||
|
if (! handle_header(line, hdr_data[i], 0)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.5.6.2.455.g1efb2
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user