Index: ext/libicpf/src/libicpf/config_property.cpp
===================================================================
diff -u -N -rb337c059691a6940b52a86388ff427c734be8eb6 -r361d7f8b9268e18f39e298ea82425f7ddb24fb43
--- ext/libicpf/src/libicpf/config_property.cpp	(.../config_property.cpp)	(revision b337c059691a6940b52a86388ff427c734be8eb6)
+++ ext/libicpf/src/libicpf/config_property.cpp	(.../config_property.cpp)	(revision 361d7f8b9268e18f39e298ea82425f7ddb24fb43)
@@ -1,4 +1,6 @@
 #include "config_property.h"
+#include "exception.h"
+#include "err_codes.h"
 #include <vector>
 #include <assert.h>
 
@@ -318,6 +320,8 @@
 const tchar_t* property::get_value(tchar_t* pszString, size_t stMaxSize, size_t stIndex)
 {
 	assert(pszString);
+	if(!pszString)
+		THROW(_t("Invalid argument"), GE_INVALIDARG, 0, 0);
 
 	if (m_uiPropType & flag_array)
 	{
@@ -880,6 +884,9 @@
 bool property::bool_from_string(const tchar_t* pszSrc)
 {
 	assert(pszSrc);
+	if(!pszSrc)
+		THROW(_t("Invalid argument"), GE_INVALIDARG, 0, 0);
+
 	return pszSrc[0] != _t('0');
 }