[PATCH] compr_lzo.c: allocate enough memory for lzo compressor.

Riku Voipio riku.voipio at iki.fi
Fri Apr 11 07:07:02 EDT 2008


On Fri, Apr 11, 2008 at 12:52:02PM +0200, Joakim Tjernlund wrote:
> 
> On Fri, 2008-04-11 at 12:33 +0300, Riku Voipio wrote:
> > This is the same bug as in kernel, pointed out the LZO author
> > (Markus Oberhumer):
> > 
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f2a11b158a24301e9158e9c873fa88e5eb775486
> > ---
> >  compr_lzo.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/compr_lzo.c b/compr_lzo.c
> > index fb54600..a0bb362 100644
> > --- a/compr_lzo.c
> > +++ b/compr_lzo.c
> > @@ -97,7 +97,7 @@ int jffs2_lzo_init(void)
> >  		return -1;
> >  
> >  	/* Worse case LZO compression size from their FAQ */
> > -	lzo_compress_buf = malloc(page_size + (page_size / 64) + 16 + 3);
> > +	lzo_compress_buf = malloc(page_size + (page_size / 16) + 64 + 3);
> >  	if (!lzo_compress_buf) {
> >  		free(lzo_mem);
> >  		return -1;

> I think you should use lzo1x_worst_compress() from the link you posted
> above.

lzo1x_worst_compress() is in the kernel header, while patch is for the
userland mtd-utils. The kernel header doesn't seem to get installed
with make headers_install, so I can't use it from userland. Also,
liblzo2 headers don't provide such function (although IMO they should).


-- 
"rm -rf" only sounds scary if you don't have backups



More information about the linux-mtd mailing list