isl_basic_map_normalize_constraints: improve error handling
authorSven Verdoolaege <sven@cerebras.net>
Mon, 19 Aug 2019 12:59:24 +0000 (19 14:59 +0200)
committerSven Verdoolaege <sven@cerebras.net>
Tue, 20 Aug 2019 20:35:20 +0000 (20 22:35 +0200)
Signed-off-by: Sven Verdoolaege <sven@cerebras.net>
isl_map_simplify.c

index 3d05c51..e70247a 100644 (file)
@@ -62,7 +62,8 @@ __isl_give isl_basic_map *isl_basic_map_normalize_constraints(
                                bmap = isl_basic_map_set_to_empty(bmap);
                                break;
                        }
-                       isl_basic_map_drop_equality(bmap, i);
+                       if (isl_basic_map_drop_equality(bmap, i) < 0)
+                               goto error;
                        continue;
                }
                if (ISL_F_ISSET(bmap, ISL_BASIC_MAP_RATIONAL))
@@ -83,7 +84,8 @@ __isl_give isl_basic_map *isl_basic_map_normalize_constraints(
                                bmap = isl_basic_map_set_to_empty(bmap);
                                break;
                        }
-                       isl_basic_map_drop_inequality(bmap, i);
+                       if (isl_basic_map_drop_inequality(bmap, i) < 0)
+                               goto error;
                        continue;
                }
                if (ISL_F_ISSET(bmap, ISL_BASIC_MAP_RATIONAL))
@@ -96,6 +98,10 @@ __isl_give isl_basic_map *isl_basic_map_normalize_constraints(
        isl_int_clear(gcd);
 
        return bmap;
+error:
+       isl_int_clear(gcd);
+       isl_basic_map_free(bmap);
+       return NULL;
 }
 
 __isl_give isl_basic_set *isl_basic_set_normalize_constraints(