diff --git a/src/xpdev/str_list.c b/src/xpdev/str_list.c index d199e915bbd90e2f4f55e2acb041f9fdb36ef31f..ceb832ca000a8c0c3e51d8cf1c810a1e07667be7 100644 --- a/src/xpdev/str_list.c +++ b/src/xpdev/str_list.c @@ -272,11 +272,9 @@ str_list_t strListSplitCopy(str_list_t* list, const char* str, const char* delim if(str==NULL) return(NULL); - if((buf=(char*)malloc(strlen(str)+1))==NULL) + if((buf=strdup(str))==NULL) return(NULL); - strcpy(buf,str); - *list=strListSplit(list,buf,delimit); free(buf); @@ -347,7 +345,7 @@ void strListFree(str_list_t* list) { if(*list!=NULL) { strListFreeStrings(*list); - free(*list); + FREE_AND_NULL(*list); } }