tree 2d01618e815d8cddf08343b3adc49d1886484b84
parent a6c487878213513cf775d90e3703241456a9469d
author Matt Spinler <spinler@us.ibm.com> 1673562349 -0600
committer Matt Spinler <spinler@us.ibm.com> 1674053884 +0000

Fix memory leak in Entry::getEntry()

The getEntry() function is a D-Bus method that returns a file
descriptor.  While the file descriptor was being closed after the method
return was sent so descriptors didn't leak, an fclose() was never
called which appears to leak a bit over 300 bytes according to
valgrind.

Just use open() instead, as the code doesn't actually need to read the
file contents anyway.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Icbe1cd157054f1842aa5b90535f0e3f48db6460a
