git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: 惠轶群 <huiyiqun@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>, Git List <git@vger.kernel.org>,
	Your friend <pickfire@riseup.net>
Subject: Re: [PATCH v3/GSoC 2/5] path.c: implement xdg_runtime_dir()
Date: Mon, 28 Mar 2016 23:00:53 +0800	[thread overview]
Message-ID: <CAKqreuxJ7Rz2G_hmnAOH7W4rBBKr=CX3pjbzJkkK1ZhN=3_o-w@mail.gmail.com> (raw)
In-Reply-To: <xmqq60w61wsp.fsf@gitster.mtv.corp.google.com>

2016-03-28 22:50 GMT+08:00 Junio C Hamano <gitster@pobox.com>:
> 惠轶群 <huiyiqun@gmail.com> writes:
>
>> After read the source code of strbuf more carefully, I get the conclusion
>> that if a strbuf is initialized with STRBUF_INIT but is not used, there is
>> no need to release it. Is it true?
>
> If it is initialized with STRBUF_INIT and never used, there is no
> reason for the variable to exist ;-)

I mean, if some developer return before the strbuf is used, there seems
no need to release the strbuf according to the current implementation.

But I'm not sure whether this is suitable for the abstraction of strbuf.

For example:

    const char *enter_repo(const char *path, int strict)
    {
        static struct strbuf validated_path = STRBUF_INIT;
        static struct strbuf used_path = STRBUF_INIT;

        if (!path)
            return NULL; // no need to release, right?
        ...
    }


> Leaving the variable in the code, and not calling release on it at
> the end, would be OK (i.e. there is no leak) today, but may invite
> future bugs (e.g. people may use the variable to tentatively build
> their string before the function returns to leave the scope of the
> variable without adding _release() themselves).

  reply	other threads:[~2016-03-28 15:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-23 10:13 [PATCH v3/GSoC 1/5] path.c: implement strbuf_mkpath() Hui Yiqun
2016-03-23 10:13 ` [PATCH v3/GSoC 2/5] path.c: implement xdg_runtime_dir() Hui Yiqun
2016-03-25  9:59   ` Jeff King
2016-03-25 14:21     ` 惠轶群
2016-03-25 14:23       ` 惠轶群
2016-03-25 16:55       ` Junio C Hamano
2016-03-25 17:55         ` Jeff King
2016-03-25 18:00           ` Junio C Hamano
2016-03-28 13:37         ` 惠轶群
2016-03-28 14:35           ` Junio C Hamano
2016-03-25 17:59       ` Jeff King
2016-03-28 14:12         ` 惠轶群
2016-03-28 14:50           ` Junio C Hamano
2016-03-28 15:00             ` 惠轶群 [this message]
2016-03-28 17:03               ` Junio C Hamano
2016-03-28 15:51         ` [PATCH] path.c enter_repo(): fix unproper strbuf unwrapping and memory leakage Hui Yiqun
2016-03-28 15:56         ` [PATCH v2] " Hui Yiqun
2016-03-28 17:55           ` Jeff King
2016-03-29  2:40             ` 惠轶群
2016-03-28 15:57         ` [PATCH v3] " Hui Yiqun
2016-03-28 15:59           ` 惠轶群
2016-03-28 17:58           ` Junio C Hamano
2016-03-29  2:38             ` 惠轶群
2016-03-23 10:13 ` [PATCH v3/GSoC 3/5] git-credential-cache: put socket to xdg-compatible path Hui Yiqun
2016-03-25 10:00   ` Jeff King
2016-03-25 14:28     ` 惠轶群
2016-03-25 17:56       ` Jeff King
2016-03-25 18:00         ` 惠轶群
2016-03-23 10:13 ` [PATCH v3/GSoC 4/5] test-lib.sh: unset all environment variables defined in xdg base dir spec[1] Hui Yiqun
2016-03-25 10:05   ` Jeff King
2016-03-23 10:13 ` [PATCH v3/GSoC 5/5] t0301: test credential-cache support of XDG_RUNTIME_DIR Hui Yiqun
2016-03-25  7:13 ` [PATCH v3/GSoC 1/5] path.c: implement strbuf_mkpath() 惠轶群
2016-03-25  9:51 ` Jeff King

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKqreuxJ7Rz2G_hmnAOH7W4rBBKr=CX3pjbzJkkK1ZhN=3_o-w@mail.gmail.com' \
    --to=huiyiqun@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=pickfire@riseup.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).