Index: ext/libicpf/src/libicpf/cfg.cpp
===================================================================
diff -u -N -r3150d0c0a9a5fe75a5954e17a5a445a14e0bea1f -r42fda86dd6448c89e6db68e0df8741e9ad5269f1
--- ext/libicpf/src/libicpf/cfg.cpp	(.../cfg.cpp)	(revision 3150d0c0a9a5fe75a5954e17a5a445a14e0bea1f)
+++ ext/libicpf/src/libicpf/cfg.cpp	(.../cfg.cpp)	(revision 42fda86dd6448c89e6db68e0df8741e9ad5269f1)
@@ -597,12 +597,16 @@
 		m_lock.unlock();
 		THROW(_t("Index out of range"), 0, 0, 0);
 	}
+	size_t stLen = 0;
 	const tchar_t* psz=m_pvProps->at(uiProp).get_string(stIndex);
-	size_t stLen = _tcslen(psz);
-	if(stLen >= stBufferSize)
-		stLen = stBufferSize - 1;
-
-	_tcsncpy(pszBuffer, psz, stLen);
+	if(psz)
+	{
+		stLen = _tcslen(psz);
+		if(stLen >= stBufferSize)
+			stLen = stBufferSize - 1;
+
+		_tcsncpy(pszBuffer, psz, stLen);
+	}
 	pszBuffer[stLen] = _t('\0');
 	m_lock.unlock();
 	return pszBuffer;