Thread (14 messages) flat view 14 messages, 4 authors, 2016-08-26

Re: [PATCH v11 0/8] submodule inline diff format

From: Jeff King <hidden>
Date: 2016-08-26 20:05:34

On Fri, Aug 26, 2016 at 07:58:07PM +0000, Keller, Jacob E wrote:
quoted
quoted
 char *git_pathdup_submodule(const char *path, const char *fmt,
...)
 {
+       int err;
        va_list args;
        struct strbuf buf = STRBUF_INIT;
        va_start(args, fmt);
-       do_submodule_path(&buf, path, fmt, args);
+       err = do_submodule_path(&buf, path, fmt, args);
        va_end(args);
+       if (err)
Here we need a strbuf_release(&buf) to avoid a memory leak?
No, cause we "strbuf_detach" after this to return the buffer? Or is
that not safe?
That code path is OK. I think the question is whether you need to
release the buffer in the "err" case where you return NULL and don't hit
the strbuf_detach.

IOW, does do_submodule_path() promise that when it returns an error,
"buf" has been left uninitialized? Some of our strbuf functions do, but
I do not know offhand about do_submodule_path().

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help