Messages in this thread | | | Date | Thu, 11 Sep 2008 01:51:44 +0200 (CEST) | From | Sven Wegener <> | Subject | Re: Distributed storage release. |
| |
On Tue, 9 Sep 2008, Evgeniy Polyakov wrote:
> I am pleased to announce new Distributed Storage (DST) project release.
Hi,
I just had another quick random look over it and found a small memory leak in an error path, that was already present in your last post, but I didn't notice. Also there still seem to be some non-critical style issues, like an explicit continue at then end of a loop, but I didn't bother to catch them this time.
Sven
> +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.
> +err_out_exit: > + return ERR_PTR(err); > +}
| |