diff --git a/src/db/plugins/upnp/ContentDirectoryService.cxx b/src/db/plugins/upnp/ContentDirectoryService.cxx
index 720940521..6ab1441b2 100644
--- a/src/db/plugins/upnp/ContentDirectoryService.cxx
+++ b/src/db/plugins/upnp/ContentDirectoryService.cxx
@@ -258,12 +258,8 @@ ContentDirectoryService::getMetadata(UpnpClient_Handle hdl,
 	if (code != UPNP_E_SUCCESS)
 		throw FormatRuntimeError("UpnpSendAction() failed: %s",
 					 UpnpGetErrorMessage(code));
-	const char *p = "";
-	for (const auto &entry : responseData) {
-		if (entry.first == "Result") {
-			p = entry.second.c_str();
-		}
-	}
+	auto it = std::find_if(responseData.begin(), responseData.end(), [](auto&& entry){ return entry.first == "Result"; });
+	const char *p = it != responseData.end() ? it->second.c_str() : "";
 	UPnPDirContent dirbuf;
 	dirbuf.Parse(p);
 	return dirbuf;
diff --git a/src/filter/plugins/ConvertFilterPlugin.cxx b/src/filter/plugins/ConvertFilterPlugin.cxx
index 5b7c96c74..5dcca8f99 100644
--- a/src/filter/plugins/ConvertFilterPlugin.cxx
+++ b/src/filter/plugins/ConvertFilterPlugin.cxx
@@ -121,7 +121,7 @@ std::unique_ptr<Filter>
 convert_filter_new(const AudioFormat in_audio_format,
 		   const AudioFormat out_audio_format)
 {
-	std::unique_ptr<ConvertFilter> filter(new ConvertFilter(in_audio_format));
+	auto filter = std::make_unique<ConvertFilter>(in_audio_format);
 	filter->Set(out_audio_format);
 	return filter;
 }
diff --git a/src/lib/ffmpeg/Interleave.cxx b/src/lib/ffmpeg/Interleave.cxx
index 51378b53b..4e901315f 100644
--- a/src/lib/ffmpeg/Interleave.cxx
+++ b/src/lib/ffmpeg/Interleave.cxx
@@ -37,7 +37,7 @@ InterleaveFrame(const AVFrame &frame, FfmpegBuffer &buffer)
 {
 	assert(frame.nb_samples > 0);
 
-	const AVSampleFormat format = AVSampleFormat(frame.format);
+	const auto format = AVSampleFormat(frame.format);
 	const unsigned channels = frame.channels;
 	const std::size_t n_frames = frame.nb_samples;
 
diff --git a/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx b/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx
index 239806122..b6fd6f844 100644
--- a/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx
+++ b/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx
@@ -367,11 +367,7 @@ SnapcastOutput::IsDrained() const noexcept
 	if (!chunks.empty())
 		return false;
 
-	for (const auto &client : clients)
-		if (!client.IsDrained())
-			return false;
-
-	return true;
+	return std::all_of(clients.begin(), clients.end(), [](auto&& c){ return c.IsDrained(); });
 }
 
 void
diff --git a/src/playlist/cue/CueParser.cxx b/src/playlist/cue/CueParser.cxx
index 84a98e73d..cb7d2ee19 100644
--- a/src/playlist/cue/CueParser.cxx
+++ b/src/playlist/cue/CueParser.cxx
@@ -63,7 +63,7 @@ cue_next_token(StringView &src) noexcept
 	return cue_next_word(src);
 }
 
-static const StringView
+static StringView
 cue_next_value(StringView &src) noexcept
 {
 	src.StripLeft();
diff --git a/src/tag/Builder.cxx b/src/tag/Builder.cxx
index b2887c903..3dbb5a383 100644
--- a/src/tag/Builder.cxx
+++ b/src/tag/Builder.cxx
@@ -158,7 +158,7 @@ TagBuilder::Commit() noexcept
 std::unique_ptr<Tag>
 TagBuilder::CommitNew() noexcept
 {
-	std::unique_ptr<Tag> tag(new Tag());
+	auto tag = std::make_unique<Tag>();
 	Commit(*tag);
 	return tag;
 }