Author: brueffer
Date: Sun Oct 23 18:24:55 2011
New Revision: 226668
URL: http://svn.freebsd.org/changeset/base/226668

Log:
  MFC: r226398, r226442
  
  Move the allocation of usrbufs down a few lines to avoid leaking it
  in case of an error.

Modified:
  stable/8/sys/dev/iicbus/iic.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/dev/iicbus/iic.c
==============================================================================
--- stable/8/sys/dev/iicbus/iic.c       Sun Oct 23 18:20:51 2011        
(r226667)
+++ stable/8/sys/dev/iicbus/iic.c       Sun Oct 23 18:24:55 2011        
(r226668)
@@ -346,11 +346,11 @@ iicioctl(struct cdev *dev, u_long cmd, c
 
        case I2CRDWR:
                buf = malloc(sizeof(*d->msgs) * d->nmsgs, M_TEMP, M_WAITOK);
-               usrbufs = malloc(sizeof(void *) * d->nmsgs, M_TEMP, M_ZERO | 
M_WAITOK);
                error = copyin(d->msgs, buf, sizeof(*d->msgs) * d->nmsgs);
                if (error)
                        break;
                /* Alloc kernel buffers for userland data, copyin write data */
+               usrbufs = malloc(sizeof(void *) * d->nmsgs, M_TEMP, M_ZERO | 
M_WAITOK);
                for (i = 0; i < d->nmsgs; i++) {
                        m = &((struct iic_msg *)buf)[i];
                        usrbufs[i] = m->buf;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to