{"thread":{"id":"38241","subject":"[PATCH] refs: release strbuf after use in check_refname_component()","startedAt":"2014-12-24T00:18:45Z","lastAt":"2014-12-29T21:13:13Z","messageCount":3,"participants":["René Scharfe","Junio C Hamano","Jeff King"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"254058","messageId":"549A0665.6080207@web.de","threadId":"38241","inReplyTo":null,"subject":"[PATCH] refs: release strbuf after use in check_refname_component()","fromName":"René Scharfe","fromEmail":"l.s.r@web.de","sentAt":"2014-12-24T00:18:45Z","receivedAt":"2014-12-24T00:18:45Z","isPatch":true,"sender":{"key":"l.s.r@web.de","avatar":"https://avatars.githubusercontent.com/u/26122331?v=4"},"body":"Signed-off-by: Rene Scharfe <l.s.r@web.de>\n---\n refs.c | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/refs.c b/refs.c\nindex 5fcacc6..ed3b2cb 100644\n--- a/refs.c\n+++ b/refs.c\n@@ -2334,7 +2334,7 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,\n \t\t\tstruct strbuf err = STRBUF_INIT;\n \t\t\tunable_to_lock_message(ref_file, errno, &err);\n \t\t\terror(\"%s\", err.buf);\n-\t\t\tstrbuf_reset(&err);\n+\t\t\tstrbuf_release(&err);\n \t\t\tgoto error_return;\n \t\t}\n \t}\n-- \n2.2.1\n"},{"id":"254141","messageId":"xmqq387y1hnc.fsf@gitster.dls.corp.google.com","threadId":"38241","inReplyTo":"549A0665.6080207@web.de","subject":"Re: [PATCH] refs: release strbuf after use in check_refname_component()","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-12-29T17:37:43Z","receivedAt":"2014-12-29T17:37:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"René Scharfe <l.s.r@web.de> writes:\n\n> Signed-off-by: Rene Scharfe <l.s.r@web.de>\n> ---\n>  refs.c | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/refs.c b/refs.c\n> index 5fcacc6..ed3b2cb 100644\n> --- a/refs.c\n> +++ b/refs.c\n> @@ -2334,7 +2334,7 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,\n>  \t\t\tstruct strbuf err = STRBUF_INIT;\n>  \t\t\tunable_to_lock_message(ref_file, errno, &err);\n>  \t\t\terror(\"%s\", err.buf);\n> -\t\t\tstrbuf_reset(&err);\n> +\t\t\tstrbuf_release(&err);\n>  \t\t\tgoto error_return;\n>  \t\t}\n>  \t}\n\nThe subject does not seem to match what the patch is doing, but the\npatch is obviously correct ;-)\n"},{"id":"254153","messageId":"20141229211312.GA26793@peff.net","threadId":"38241","inReplyTo":"xmqq387y1hnc.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH] refs: release strbuf after use in check_refname_component()","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2014-12-29T21:13:13Z","receivedAt":"2014-12-29T21:13:13Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Dec 29, 2014 at 09:37:43AM -0800, Junio C Hamano wrote:\n\n> René Scharfe <l.s.r@web.de> writes:\n> \n> > Signed-off-by: Rene Scharfe <l.s.r@web.de>\n> > ---\n> >  refs.c | 2 +-\n> >  1 file changed, 1 insertion(+), 1 deletion(-)\n> >\n> > diff --git a/refs.c b/refs.c\n> > index 5fcacc6..ed3b2cb 100644\n> > --- a/refs.c\n> > +++ b/refs.c\n> > @@ -2334,7 +2334,7 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,\n> >  \t\t\tstruct strbuf err = STRBUF_INIT;\n> >  \t\t\tunable_to_lock_message(ref_file, errno, &err);\n> >  \t\t\terror(\"%s\", err.buf);\n> > -\t\t\tstrbuf_reset(&err);\n> > +\t\t\tstrbuf_release(&err);\n> >  \t\t\tgoto error_return;\n> >  \t\t}\n> >  \t}\n> \n> The subject does not seem to match what the patch is doing, but the\n> patch is obviously correct ;-)\n\nThe worst part of this is that I got it right in my hacked-up version:\n\n  http://article.gmane.org/gmane.comp.version-control.git/259853\n\nbut then after much discussion, we dropped all of the lead-in patches,\nand I sent Ronnie's unedited:\n\n  http://article.gmane.org/gmane.comp.version-control.git/259911\n\nAll that looking and I didn't notice the release/reset difference\nbetween our two versions. Sheesh.\n\nWhich is all a roundabout way of saying \"yes, René's patch is obviously\ncorrect\". :)\n\n-Peff\n"}]}