isl_basic_map_extend: plug memory leak on error path
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 26 Jun 2010 09:04:44 +0000 (11:04 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 26 Jun 2010 15:37:40 +0000 (17:37 +0200)
isl_map.c

index f1dbce3..a4d1686 100644 (file)
--- a/isl_map.c
+++ b/isl_map.c
@@ -1040,10 +1040,13 @@ struct isl_basic_map *isl_basic_map_extend(struct isl_basic_map *base,
                return NULL;
        dim = isl_dim_alloc(base->ctx, nparam, n_in, n_out);
        if (!dim)
-               return NULL;
+               goto error;
 
        bmap = isl_basic_map_extend_dim(base, dim, extra, n_eq, n_ineq);
        return bmap;
+error:
+       isl_basic_map_free(base);
+       return NULL;
 }
 
 struct isl_basic_set *isl_basic_set_extend(struct isl_basic_set *base,