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