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

Reply via email to