git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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.

      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).