of: unittest: Add of_node_put() before return
authorNishka Dasgupta <nishkadg.linux@gmail.com>
Thu, 15 Aug 2019 06:22:18 +0000 (11:52 +0530)
committerRob Herring <robh@kernel.org>
Tue, 27 Aug 2019 16:21:54 +0000 (11:21 -0500)
The local variable np in function of_unittest_platform_populate takes
the return value of of_find_node_by_path, which gets a node but does not
put it. If np is not put before return it may cause a memory leak. Hence
put np before a return statement.
Issue found with Coccinelle.

Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/unittest.c

index e6b1753..480a21e 100644 (file)
@@ -1044,8 +1044,10 @@ static void __init of_unittest_platform_populate(void)
        test_bus = platform_device_register_full(&test_bus_info);
        rc = PTR_ERR_OR_ZERO(test_bus);
        unittest(!rc, "testbus registration failed; rc=%i\n", rc);
-       if (rc)
+       if (rc) {
+               of_node_put(np);
                return;
+       }
        test_bus->dev.of_node = np;
 
        /*