diff --git a/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp b/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp
index 257cbabe69b50773f919358469d4226818321320..a6bd3aacb402448a2e089c0d5fd93d0d018d6589 100644
--- a/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp
+++ b/alib2algo/src/regexp/generate/RandomRegExpFactory.cpp
@@ -107,7 +107,7 @@ ext::ptr_value < regexp::UnboundedRegExpElement < SymbolType > > RandomRegExpFac
 
 		childNodes = childNodes > n ? n : childNodes;
 
-		int subSizes[4];
+		int subSizes[4] = {0};
 		if(childNodes == 4) {
 			subSizes[3] = ext::random_devices::semirandom() % ( n - 1 );
 			subSizes[2] = ext::random_devices::semirandom() % ( n - subSizes[3] - 1 );
diff --git a/alib2std/src/extensions/fdstream.hpp b/alib2std/src/extensions/fdstream.hpp
index 0e345550bd71f1fa35bd17d1c6946c96a15bb5a6..737abaecac72beae161afe244a95a53deee645da 100644
--- a/alib2std/src/extensions/fdstream.hpp
+++ b/alib2std/src/extensions/fdstream.hpp
@@ -73,7 +73,7 @@ extern const int FAIL_FD;
  * Class representing buffered stream designed to work on defined file descriptor instead of usual file name.
  *
  */
-class fdstreambuf : public std::streambuf {
+class fdstreambuf final : public std::streambuf {
 	/**
 	 * \brief
 	 * The size of the internal buffer.
diff --git a/aql2/src/prompt/ReadlineCharSequence.h b/aql2/src/prompt/ReadlineCharSequence.h
index e4b12f7e8a746cd008244c19462dab9824192d5c..62dcf6931f50785f18b41dca776a1f61f90a197f 100644
--- a/aql2/src/prompt/ReadlineCharSequence.h
+++ b/aql2/src/prompt/ReadlineCharSequence.h
@@ -17,7 +17,7 @@
 
 #include <lexer/CharSequenceBase.h>
 
-class ReadlineCharSequence : public cli::CharSequenceBase {
+class ReadlineCharSequence final : public cli::CharSequenceBase {
 	std::vector < std::string > m_lines;
 	bool first = true;
 	bool forceReadLine = false;