[PATCH 02/26] mailinfo: fix for off-by-one error in boundary stack
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 13, 2015, 23:16 UTC
- Message-ID
- <1444778207-859-3-git-send-email-gitster@pobox.com>
- In-Reply-To
- <1444778207-859-1-git-send-email-gitster@pobox.com>
We pre-increment the pointer that we will use to store something at, so the pointer is already beyond the end of the array if it points at content[MAX_BOUNDARIES].
Signed-off-by: Junio C Hamano <gitster@pobox.com> ---
As always, I am very bad at checking and fixing off-by-one errors. A few extra sets of eyeballs are very much appreciated. --- builtin/mailinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c index 330bef4..2742d0d 100644 --- a/builtin/mailinfo.c +++ b/builtin/mailinfo.c @@ -185,7 +185,7 @@ static void handle_content_type(struct strbuf *line) if (slurp_attr(line->buf, "boundary=", boundary)) { strbuf_insert(boundary, 0, "--", 2); - if (++content_top > &content[MAX_BOUNDARIES]) { + if (++content_top >= &content[MAX_BOUNDARIES]) { fprintf(stderr, "Too many boundaries to handle\n"); exit(1); }
-- 2.6.1-320-g86a1181