From: Andreas Ericsson <ae@op5.se>
To: Paolo Bonzini <paolo.bonzini@gmail.com>
Cc: Paolo Bonzini <bonzini@gnu.org>,
git@vger.kernel.org, Roger Leigh <rleigh@codelibre.net>
Subject: Re: [PATCH] git mailinfo strips important context from patch subjects
Date: Mon, 29 Jun 2009 12:54:20 +0200 [thread overview]
Message-ID: <4A489D5C.2000406@op5.se> (raw)
In-Reply-To: <4A48959A.3060404@gmail.com>
Paolo Bonzini wrote:
>
>>> case '[':
>>> if ((pos = strchr(subject->buf, ']'))) {
>>> remove = pos - subject->buf;
>>> - if (remove <= (subject->len - remove) * 2) {
>>> + if (remove <= subject->len * 2 / 3
>>> + && memmem(subject->buf, remove, 'PATCH', 5)) {
>>> strbuf_remove(subject, 0, remove + 1);
>>> continue;
>>> }
>>
>>
>> Pardon my ignorance, but wouldn't this still remove not only
>> "[PATCH 4/5]", but all of [PATCH 4/5] [sbuild]" anyway? The
>> parameters to strbuf_remove() seem unchanged.
>
> I don't exclude I've screwed up, but note that pos is computed with
> strchr, not strrchr. Since the second memmem does not find [PATCH], it
> does not remove anything.
>
It removes one character, which means the subject still gets mangled. If
it *doesn't* remove one character and also doesn't break out of the loop,
it'll loop indefinitely, since *subject->buf will never change.
There's something else wrong with your patch though, as mailinfo dumps
core with it for a patch starting with "[PATCH] [git]". It happens in
memmem(). Here's the backtrace:
(gdb) bt
#0 0x00c67c76 in memmem (haystack_start=0x8a4bae0, haystack_len=6,
needle_start=0x41544348, needle_len=5) at memmem.c:66
#1 0x0807a1e5 in cleanup_subject () at builtin-mailinfo.c:240
#2 handle_info () at builtin-mailinfo.c:878
#3 mailinfo () at builtin-mailinfo.c:929
#4 cmd_mailinfo (argc=4, argv=<value optimized out>, prefix=0x0)
at builtin-mailinfo.c:966
#5 0x0804b0f7 in run_builtin () at git.c:247
#6 handle_internal_command (argc=4, argv=0xbfb00f58) at git.c:393
#7 0x0804b2e2 in run_argv () at git.c:439
#8 main (argc=4, argv=0xbfb00f58) at git.c:510
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.
prev parent reply other threads:[~2009-06-29 10:54 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-28 19:38 git mailinfo strips important context from patch subjects Roger Leigh
2009-06-28 20:02 ` Jeff King
2009-06-28 23:04 ` Junio C Hamano
2009-06-29 9:53 ` Andreas Ericsson
2009-06-29 9:55 ` [PATCH] mailinfo: Remove only one set of square brackets Andreas Ericsson
2009-06-29 16:09 ` Junio C Hamano
2009-06-30 5:33 ` Jeff King
2009-06-29 21:17 ` [PATCH] builtin-mailinfo.c: Trim only first pair of square brackets in subject Roger Leigh
2009-06-29 21:26 ` Jakub Narebski
2009-06-29 21:49 ` Roger Leigh
2009-09-22 10:39 ` Neil Roberts
2009-09-22 12:56 ` [PATCH] builtin-mailinfo.c: Improve the regexp for cleaning up the subject Neil Roberts
2009-09-22 16:15 ` [PATCH] builtin-mailinfo.c: Trim only first pair of square brackets in subject Junio C Hamano
2009-09-22 16:51 ` Neil Roberts
2009-09-23 0:26 ` Jason Holden
2009-06-29 21:34 ` [PATCH 2/2] builtin-mailinfo.c: Free regular expression after use Roger Leigh
2009-06-29 21:36 ` git mailinfo strips important context from patch subjects Roger Leigh
2009-06-28 20:07 ` [PATCH] " Paolo Bonzini
2009-06-29 9:19 ` Andreas Ericsson
2009-06-29 10:21 ` Paolo Bonzini
2009-06-29 10:54 ` Andreas Ericsson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A489D5C.2000406@op5.se \
--to=ae@op5.se \
--cc=bonzini@gnu.org \
--cc=git@vger.kernel.org \
--cc=paolo.bonzini@gmail.com \
--cc=rleigh@codelibre.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).