Module Name: src Committed By: thorpej Date: Sat Sep 11 14:47:06 UTC 2021
Modified Files: src/sys/arch/macppc/dev [thorpej-i2c-spi-conf2]: ki2c.c Log Message: Fix a memory leak if the "compatible" property is > 32 bytes. To generate a diff of this commit: cvs rdiff -u -r1.32.2.2 -r1.32.2.3 src/sys/arch/macppc/dev/ki2c.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/macppc/dev/ki2c.c diff -u src/sys/arch/macppc/dev/ki2c.c:1.32.2.2 src/sys/arch/macppc/dev/ki2c.c:1.32.2.3 --- src/sys/arch/macppc/dev/ki2c.c:1.32.2.2 Fri Sep 10 15:45:28 2021 +++ src/sys/arch/macppc/dev/ki2c.c Sat Sep 11 14:47:06 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ki2c.c,v 1.32.2.2 2021/09/10 15:45:28 thorpej Exp $ */ +/* $NetBSD: ki2c.c,v 1.32.2.3 2021/09/11 14:47:06 thorpej Exp $ */ /* Id: ki2c.c,v 1.7 2002/10/05 09:56:05 tsubai Exp */ /*- @@ -132,14 +132,13 @@ ki2c_i2c_enumerate_device(struct ki2c_so cbrv = args->callback(dev, args); prop_object_release(props); - + out: + kmem_tmpbuf_free(compat, compat_size, compat_buf); return cbrv; /* callback decides if we keep enumerating */ bad: - if (compat != compat_buf) { - kmem_tmpbuf_free(compat, compat_size, compat_buf); - } - return true; /* keep enumerating */ + cbrv = true; /* keep enumerating */ + goto out; } static int