summaryrefslogtreecommitdiff
path: root/src/lib/upnp/Discovery.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/upnp/Discovery.cxx')
-rw-r--r--src/lib/upnp/Discovery.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/upnp/Discovery.cxx b/src/lib/upnp/Discovery.cxx
index f6a3ba122..bcbae6c87 100644
--- a/src/lib/upnp/Discovery.cxx
+++ b/src/lib/upnp/Discovery.cxx
@@ -23,6 +23,7 @@
#include "ContentDirectoryService.hxx"
#include "system/Clock.hxx"
#include "Log.hxx"
+#include "util/ScopeExit.hxx"
#include <upnp/upnptools.h>
@@ -127,6 +128,8 @@ UPnPDeviceDirectory::Explore()
continue;
}
+ AtScopeExit(buf){ free(buf); };
+
// Update or insert the device
ContentDirectoryDescriptor d(std::move(tsk->device_id),
MonotonicClockS(), tsk->expires);
@@ -134,7 +137,6 @@ UPnPDeviceDirectory::Explore()
{
Error error2;
bool success = d.Parse(tsk->url, buf, error2);
- free(buf);
if (!success) {
delete tsk;
LogError(error2);