tree f5a16dcdcb0145f7895a68ec9ec6caa14526c0ef
parent 77b8aac3abf614331e5ec2b50d6f5bf465cb4433
author Willy Tu <wltu@google.com> 1665987809 +0000
committer Willy Tu <wltu@google.com> 1665987809 +0000

remove potential memory leak with getAllProperties

Wrap handler in a lambda to remove the trigger potential memory
leak with clang-tidy. Only getAllProperties have this std::move to
async_method_call and is hitting the issue.

The issue only happens if the handler captures some variabls

Example code that hit the issue.
```

void handler(const std::string& /*unused*/,
             const boost::system::error_code /*unused*/,
             const std::vector<
                 std::pair<std::string, std::variant<std::string>>>& /*unused*/)
{}

void test(sdbusplus::asio::connection* conn)
{
    std::string test = "test";
    sdbusplus::asio::getAllProperties<std::variant<std::string>>(
        *conn, "xyz.openbmc_project.EntityManager", "path",
        "xyz.openbmc_project.Inventory.Decorator.Asset",
        std::bind_front(handler, test));
}
```
Tested:
clang-tidy is happy now

Signed-off-by: Willy Tu <wltu@google.com>
Change-Id: I0a3a5ed016aed664c650d811e253d54a4eb2b0b1
