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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.