isl_basic_set_opt: avoid invalid access on error path
[platform/upstream/isl.git] / isl_affine_hull.c
index b641763..e71bc10 100644 (file)
@@ -805,7 +805,7 @@ struct isl_tab *isl_tab_detect_equalities(struct isl_tab *tab,
 {
        int j;
        struct isl_vec *sample;
-       struct isl_basic_set *hull;
+       struct isl_basic_set *hull = NULL;
        struct isl_tab_undo *snap;
 
        if (!tab || !tab_cone)
@@ -870,6 +870,7 @@ struct isl_tab *isl_tab_detect_equalities(struct isl_tab *tab,
 
        return tab;
 error:
+       isl_basic_set_free(hull);
        isl_tab_free(tab);
        return NULL;
 }
@@ -1063,6 +1064,7 @@ static struct isl_basic_set *equalities_in_underlying_set(
 
        return hull;
 error:
+       isl_mat_free(T1);
        isl_mat_free(T2);
        isl_basic_set_free(bset);
        isl_basic_set_free(hull);