提交 9d8caac8 编写于 作者: A ahenrie

8145278: Fix memory leak in splitPathList

Reviewed-by: sspitsyn, dsamersoff, dcubed
上级 33fe1fab
......@@ -518,18 +518,22 @@ static void
splitPathList(const char* str, int* pathCount, char*** paths) {
int count = 0;
char** segments = NULL;
char** new_segments;
char* c = (char*) str;
while (*c != '\0') {
while (*c == ' ') c++; /* skip leading spaces */
if (*c == '\0') {
break;
}
if (segments == NULL) {
segments = (char**)malloc( sizeof(char**) );
} else {
segments = (char**)realloc( segments, (count+1)*sizeof(char**) );
new_segments = (char**)realloc(segments, (count+1)*sizeof(char*));
if (new_segments == NULL) {
jplis_assert(0);
free(segments);
count = 0;
segments = NULL;
break;
}
jplis_assert(segments != (char**)NULL);
segments = new_segments;
segments[count++] = c;
c = strchr(c, ' ');
if (c == NULL) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册