Index: src/ch/MainWnd.cpp
===================================================================
diff -u -ref0341282095cec2957225e031580d0c0bbaa5f6 -r39864b5fbb931e3b257afbd60cfb7f36f71d146d
--- src/ch/MainWnd.cpp	(.../MainWnd.cpp)	(revision ef0341282095cec2957225e031580d0c0bbaa5f6)
+++ src/ch/MainWnd.cpp	(.../MainWnd.cpp)	(revision 39864b5fbb931e3b257afbd60cfb7f36f71d146d)
@@ -462,7 +462,7 @@
 			}
 			catch(const std::exception& e)
 			{
-				strError.Format(_T("Error message: %s"), e.what());
+				strError.Format(_T("Error message: %S"), e.what());
 			}
 
 			if(!strError.IsEmpty())
Index: src/ch/ch.cpp
===================================================================
diff -u -ra44714d5c7ec0f50a376f4d0ea919ee5a224f834 -r39864b5fbb931e3b257afbd60cfb7f36f71d146d
--- src/ch/ch.cpp	(.../ch.cpp)	(revision a44714d5c7ec0f50a376f4d0ea919ee5a224f834)
+++ src/ch/ch.cpp	(.../ch.cpp)	(revision 39864b5fbb931e3b257afbd60cfb7f36f71d146d)
@@ -345,7 +345,7 @@
 	if(!rResManager.SetLanguage(ExpandPath(strPath.GetBufferSetLength(_MAX_PATH))))
 	{
 		TCHAR szData[2048];
-		_sntprintf(szData, 2048, _T("Couldn't find the language file specified in configuration file:\n%s\nPlease correct this path to point the language file to use.\nProgram will now exit."), strPath);
+		_sntprintf(szData, 2048, _T("Couldn't find the language file specified in configuration file:\n%s\nPlease correct this path to point the language file to use.\nProgram will now exit."), (PCTSTR)strPath);
 		LOG_ERROR(szData);
 		AfxMessageBox(szData, MB_ICONSTOP | MB_OK);
 		return FALSE;
Index: src/libchcore/ConfigNodeContainer.cpp
===================================================================
diff -u -ra44714d5c7ec0f50a376f4d0ea919ee5a224f834 -r39864b5fbb931e3b257afbd60cfb7f36f71d146d
--- src/libchcore/ConfigNodeContainer.cpp	(.../ConfigNodeContainer.cpp)	(revision a44714d5c7ec0f50a376f4d0ea919ee5a224f834)
+++ src/libchcore/ConfigNodeContainer.cpp	(.../ConfigNodeContainer.cpp)	(revision 39864b5fbb931e3b257afbd60cfb7f36f71d146d)
@@ -313,6 +313,9 @@
 				}
 
 				strName.Delete(0, stPos + 2);	// skip "]." at the beginning
+				if (!pCurrentContainer)
+					THROW_CORE_EXCEPTION(eErr_InvalidPointer);
+
 				pCurrentContainer->m_mic.insert(ConfigNode(++pCurrentContainer->m_oidLastObjectID, strName, iter->GetOrder(), iter->m_strValue));
 			}
 		}
Index: src/libchcore/TSQLiteSerializerRowData.cpp
===================================================================
diff -u -ra44714d5c7ec0f50a376f4d0ea919ee5a224f834 -r39864b5fbb931e3b257afbd60cfb7f36f71d146d
--- src/libchcore/TSQLiteSerializerRowData.cpp	(.../TSQLiteSerializerRowData.cpp)	(revision a44714d5c7ec0f50a376f4d0ea919ee5a224f834)
+++ src/libchcore/TSQLiteSerializerRowData.cpp	(.../TSQLiteSerializerRowData.cpp)	(revision 39864b5fbb931e3b257afbd60cfb7f36f71d146d)
@@ -356,7 +356,7 @@
 	if(stIndex >= m_rColumns.GetCount())
 		THROW_SERIALIZER_EXCEPTION(eErr_BoundsExceeded, _T("Wrong column provided"));
 
-	unsigned long long ullMask = 2 << stIndex;
+	unsigned long long ullMask = 2ULL << stIndex;
 	if(bUsed)
 		m_pPoolMemory[0] |= ullMask;
 	else
@@ -375,7 +375,7 @@
 
 bool TSQLiteSerializerRowData::HasData(size_t stColumnIndex) const
 {
-	return (GetDataHeader() & (2 << stColumnIndex)) != 0;
+	return (GetDataHeader() & (2ULL << stColumnIndex)) != 0;
 }
 
 void TSQLiteSerializerRowData::BindParams(sqlite::TSQLiteStatement &tStatement, int& iSQLiteColumnNumber, size_t stSkipColumn)