diff options
Diffstat (limited to 'src/lib/upnp/Discovery.cxx')
-rw-r--r-- | src/lib/upnp/Discovery.cxx | 4 |
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); |