isl_map.c: map_intersect_internal: plug memory leak on error path
[platform/upstream/isl.git] / isl_map.c
index 4a49d41..f4c9bb4 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -2858,7 +2858,7 @@ static __isl_give isl_map *map_intersect_internal(__isl_take isl_map *map1,
        __isl_take isl_map *map2)
 {
        unsigned flags = 0;
-       struct isl_map *result;
+       isl_map *result = NULL;
        int i, j;
 
        if (!map1 || !map2)
@@ -2915,6 +2915,7 @@ static __isl_give isl_map *map_intersect_internal(__isl_take isl_map *map1,
 error:
        isl_map_free(map1);
        isl_map_free(map2);
+       isl_map_free(result);
        return NULL;
 }
 
@@ -3062,7 +3063,7 @@ __isl_give isl_basic_map *isl_basic_map_add(__isl_take isl_basic_map *bmap,
                                        isl_basic_map_dim(bmap, type), n);
 }
 
-__isl_give isl_basic_set *isl_basic_set_add(__isl_take isl_basic_set *bset,
+__isl_give isl_basic_set *isl_basic_set_add_dims(__isl_take isl_basic_set *bset,
                enum isl_dim_type type, unsigned n)
 {
        if (!bset)