1.1 --- a/librazor/merger.c Wed Aug 20 18:57:52 2014 +0100
1.2 +++ b/librazor/merger.c Wed Oct 22 12:09:47 2014 +0100
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 }