From ece405c74999f0fda3231711c1eac3a615f39f42 Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Thu, 25 Jun 2020 07:15:35 +0900 Subject: [PATCH] add-ons/kernel/busses/i2c: Fix Memory leak Fix init_device() was exited without releasing the 'bus' pointer. Pointed out by cppcheck. Change-Id: I0ec1a78caa83d7d34a3d88fee64716dcbbc82dd2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2951 Reviewed-by: waddlesplash --- src/add-ons/kernel/busses/i2c/pch_i2c_acpi.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/add-ons/kernel/busses/i2c/pch_i2c_acpi.cpp b/src/add-ons/kernel/busses/i2c/pch_i2c_acpi.cpp index 0664553552..742c6279ea 100644 --- a/src/add-ons/kernel/busses/i2c/pch_i2c_acpi.cpp +++ b/src/add-ons/kernel/busses/i2c/pch_i2c_acpi.cpp @@ -131,10 +131,12 @@ init_device(device_node* node, void** device_cookie) pch_i2c_scan_parse_callback, &crs); if (status != B_OK) { ERROR("Error while getting I2C devices\n"); + free(bus); return status; } if (crs.addr_bas == 0 || crs.addr_len == 0) { TRACE("skipping non configured I2C devices\n"); + free(bus); return B_BAD_VALUE; }