The proposed fix in f85421c (isl_map.c: map_intersect_internal: plug memory
leak on error path, Fri Nov 30 18:10:08 2012 +0100) would only free "result",
but not "part". Revert that commit and make sure both are freed.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
__isl_take isl_map *map2)
{
unsigned flags = 0;
- isl_map *result = NULL;
+ isl_map *result;
int i, j;
if (!map1 || !map2)
isl_basic_map_copy(map1->p[i]),
isl_basic_map_copy(map2->p[j]));
if (isl_basic_map_is_empty(part) < 0)
- goto error;
+ part = isl_basic_map_free(part);
result = isl_map_add_basic_map(result, part);
if (!result)
goto error;
error:
isl_map_free(map1);
isl_map_free(map2);
- isl_map_free(result);
return NULL;
}