+5
−1
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
Previously, the action, command, and service structs contained char*s that referenced memory within the buffer returned by the strdup() of the input buffer of parse_config. This prevented this entire memory region from being freed, leaking contents that would never be referenced again. The changes to convert the previous action, command, and service structs to C++ classes created explicit ownership of the contents within each class in the form of std::strings. With these changes, there are no remaining references to the memory allocated by this strdup(), which can now be freed. This commit replaces the strdup() with std::vector<char> to allow for the copied string to be freed when it goes out of scope instead of relying on the C strdup() and free() functions. Change-Id: Id0a5f711e33363082ba201afda6b26043998cb1c