librazor/merger.c
changeset 461 e1b95d57dd54
parent 438 fab0b8a61dcb
child 470 7a38fc77fbde
     1.1 --- a/librazor/merger.c	Wed Aug 20 18:57:52 2014 +0100
     1.2 +++ b/librazor/merger.c	Tue Nov 11 15:57:14 2014 +0000
     1.3 @@ -318,8 +318,14 @@
     1.4  	set2 = merger->source2.set;
     1.5  	map1 = merger->source1.file_map;
     1.6  	map2 = merger->source2.file_map;
     1.7 -	pool1 = set1->file_string_pool.data;
     1.8 -	pool2 = set2->file_string_pool.data;
     1.9 +	if (set1->file_string_pool.size)
    1.10 +		pool1 = set1->file_string_pool.data;
    1.11 +	else
    1.12 +		pool1 = NULL;
    1.13 +	if (set2->file_string_pool.size)
    1.14 +		pool2 = set2->file_string_pool.data;
    1.15 +	else
    1.16 +		pool2 = NULL;
    1.17  	root1 = (struct razor_entry *) set1->files.data;
    1.18  	root2 = (struct razor_entry *) set2->files.data;
    1.19  
    1.20 @@ -349,9 +355,9 @@
    1.21  			continue;
    1.22  		}
    1.23  
    1.24 -		if (!e1)
    1.25 +		if (!e1 || !pool1)
    1.26  			cmp = 1;
    1.27 -		else if (!e2)
    1.28 +		else if (!e2 || !pool2)
    1.29  			cmp = -1;
    1.30  		else {
    1.31  			cmp = strcmp (&pool1[e1->name],
    1.32 @@ -631,5 +637,9 @@
    1.33  	hashtable_release(&merger->table);
    1.34  	hashtable_release(&merger->file_table);
    1.35  	hashtable_release(&merger->details_table);
    1.36 +	free(merger->source1.property_map);
    1.37 +	free(merger->source1.file_map);
    1.38 +	free(merger->source2.property_map);
    1.39 +	free(merger->source2.file_map);
    1.40  	free(merger);
    1.41  }