diff --git a/src/xpdev/str_list.c b/src/xpdev/str_list.c
index c7a8ad8194e1f3a30492e2e31924bc6575849de7..b616fa19260d70dd609c6fdef83fdbd881a1de6c 100644
--- a/src/xpdev/str_list.c
+++ b/src/xpdev/str_list.c
@@ -145,6 +145,9 @@ char* strListReplace(const str_list_t list, size_t index, const char* str)
 	char*	buf;
 	size_t	count;
 
+	if(str==NULL)
+		return(NULL);
+
 	count = strListCount(list);
 
 	if(index==STR_LIST_LAST_INDEX && count)
@@ -189,6 +192,9 @@ char* strListAppend(str_list_t* list, const char* str, size_t index)
 {
 	char* buf;
 
+	if(str==NULL)
+		return(NULL);
+
 	if((buf=(char*)malloc(strlen(str)+1))==NULL)
 		return(NULL);
 
@@ -216,6 +222,9 @@ char* strListInsert(str_list_t* list, const char* str, size_t index)
 {
 	char* buf;
 
+	if(str==NULL)
+		return(NULL);
+
 	if((buf=(char*)malloc(strlen(str)+1))==NULL)
 		return(NULL);
 
@@ -242,6 +251,9 @@ str_list_t strListSplit(str_list_t* lp, char* str, const char* delimit)
 	char*	token;
 	str_list_t	list;
 
+	if(str==NULL || delimit==NULL)
+		return(NULL);
+
 	if(lp==NULL) {
 		if((list = strListInit())==NULL)
 			return(0);
@@ -261,6 +273,9 @@ str_list_t strListSplitCopy(str_list_t* list, const char* str, const char* delim
 {
 	char*	buf;
 
+	if(str==NULL)
+		return(NULL);
+
 	if((buf=(char*)malloc(strlen(str)+1))==NULL)
 		return(NULL);