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; }