[PATCH 1 of 5 STABLE] base85: fix leak on error return from b85decode()

Martin von Zweigbergk martinvonz at google.com
Wed Sep 5 11:20:10 EDT 2018


On Wed, Sep 5, 2018 at 7:00 AM Yuya Nishihara <yuya at tcha.org> wrote:

> # HG changeset patch
> # User Yuya Nishihara <yuya at tcha.org>
> # Date 1536148658 -32400
> #      Wed Sep 05 20:57:38 2018 +0900
> # Branch stable
> # Node ID 33c58a7ff5d54660c5c15a007d8297119cf9ab82
> # Parent  e574cae381b66a8543c8183a76768abcb55d98fc
> base85: fix leak on error return from b85decode()
>
> Spotted by ASAN.
>
> We don't need to initialize 'out' to NULL, but I decided to do that for
> clarity.
>

Looks like that would lead to a "declaration after statement" warning or
whatever it's called. I might drop it in flight if it does indeed cause
that.


>
> diff --git a/mercurial/cext/base85.c b/mercurial/cext/base85.c
> --- a/mercurial/cext/base85.c
> +++ b/mercurial/cext/base85.c
> @@ -77,7 +77,7 @@ static PyObject *b85encode(PyObject *sel
>
>  static PyObject *b85decode(PyObject *self, PyObject *args)
>  {
> -       PyObject *out;
> +       PyObject *out = NULL;
>         const char *text;
>         char *dst;
>         Py_ssize_t len, i, j, olen, cap;
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20180905/a37941af/attachment.html>


More information about the Mercurial-devel mailing list