diff options
| author | martin <martin@NetBSD.org> | 2013-09-12 20:30:58 +0000 |
|---|---|---|
| committer | martin <martin@NetBSD.org> | 2013-09-12 20:30:58 +0000 |
| commit | e65fe256da8780c3945cbb56bd9397585c53f511 (patch) | |
| tree | 7728a42c6df564f560e54df96244d42f0aafc1f8 /sys/dev | |
| parent | ccfcd5c10bb533e48d0d1f746118740f3a3cf1f4 (diff) | |
Fix evil "sizeof(void*)" botch
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/i2c/i2c_exec.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/i2c/i2c_exec.c b/sys/dev/i2c/i2c_exec.c index 28da9c566b4..a54f362e7eb 100644 --- a/sys/dev/i2c/i2c_exec.c +++ b/sys/dev/i2c/i2c_exec.c @@ -1,4 +1,4 @@ -/* $NetBSD: i2c_exec.c,v 1.8 2012/04/22 14:10:36 pgoyette Exp $ */ +/* $NetBSD: i2c_exec.c,v 1.9 2013/09/12 20:30:58 martin Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: i2c_exec.c,v 1.8 2012/04/22 14:10:36 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i2c_exec.c,v 1.9 2013/09/12 20:30:58 martin Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -90,8 +90,9 @@ iic_exec(i2c_tag_t tag, i2c_op_t op, i2c_addr_t addr, const void *vcmd, case 2: break; default: - memcpy(data, vbuf, sizeof(vbuf)); - data[sizeof(vbuf)] = iic_smbus_pec(2, b, data); + KASSERT(buflen+1 < sizeof(data)); + memcpy(data, vbuf, buflen); + data[buflen] = iic_smbus_pec(2, b, data); buflen++; break; } |
