Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 May 2016 20:50:21 -0700
From:      Ravi Pokala <rpokala@mac.com>
To:        "Jason A. Harmening" <jah@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r300258 - head/sys/dev/iicbus
Message-ID:  <371B94E2-E906-4F9C-9A9B-A9D35CD93D21@panasas.com>
In-Reply-To: <201605200303.u4K334pG019632@repo.freebsd.org>
References:  <201605200303.u4K334pG019632@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

-----Original Message-----
From: <owner-src-committers@freebsd.org> on behalf of "Jason A. Harmening" <jah@FreeBSD.org>
Date: 2016-05-19, Thursday at 20:03
To: <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <svn-src-head@freebsd.org>
Subject: svn commit: r300258 - head/sys/dev/iicbus

>Author: jah
>Date: Fri May 20 03:03:04 2016
>New Revision: 300258
>URL: https://svnweb.freebsd.org/changeset/base/300258
>
>Log:
>  iic_rdwr_data->nmsgs is uint32_t, so limit the allowable number of messages to prevent memory exhaustion and short allocations on 32-bit systems. Since iicrdwr is intended to be a workalike of a Linux i2c-dev call, use the same limit of 42 that Linux uses.
>  
>  Also check the return value of copyin(9) to prevent unnecessary allocation in the failure case.
>  
>  ...
>  
> 	error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs);
>+	if (error != 0) {
>+		free(buf, M_IIC);
>+		return (error);
>+	}
> 

Hi Jason,

If I’m reading that right, it’s not preventing any allocations, but it is preventing a leak. Is that correct?

Thanks,

Ravi (rpokala@)





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?371B94E2-E906-4F9C-9A9B-A9D35CD93D21>