lkml.org 
[lkml]   [2008]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Distributed storage release.
Hi Sven.

On Thu, Sep 11, 2008 at 01:51:44AM +0200, Sven Wegener (sven.wegener@stealer.net) wrote:
> > +static void *dst_crypto_thread_init(void *data)
> > +{
> > + struct dst_node *n = data;
> > + struct dst_crypto_engine *e;
> > + int err = -ENOMEM;
> > +
> > + e = kzalloc(sizeof(struct dst_crypto_engine), GFP_KERNEL);
> > + if (!e)
> > + goto err_out_exit;
> > + e->src = kzalloc(sizeof(struct scatterlist) * 2 * n->max_pages,
> > + GFP_KERNEL);
> > + if (!e->src)
> > + goto err_out_free;
> > +
> > + e->dst = e->src + n->max_pages;
> > +
> > + err = dst_crypto_engine_init(e, n);
> > + if (err)
> > + goto err_out_free;
> > +
> > + return e;
> > +
> > +err_out_free:
> > + kfree(e->src);
>
> You leak the memory allocated for e here.

Thanks a lot for pointing this out, I will fix it.

--
Evgeniy Polyakov


\
 
 \ /
  Last update: 2008-09-11 06:27    [from the cache]
©2003-2011 Jasper Spaans