isl_basic_set_preimage: avoid NULL pointer dereference
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 26 Jun 2010 08:54:28 +0000 (10:54 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sat, 26 Jun 2010 15:37:40 +0000 (17:37 +0200)
isl_mat.c

index 13332e6..a019ce1 100644 (file)
--- a/isl_mat.c
+++ b/isl_mat.c
@@ -975,10 +975,11 @@ struct isl_basic_set *isl_basic_set_preimage(struct isl_basic_set *bset,
        isl_assert(ctx, 1+bset->dim->n_out == mat->n_row, goto error);
        isl_assert(ctx, mat->n_col > 0, goto error);
 
-       if (mat->n_col > mat->n_row)
-               bset = isl_basic_set_extend(bset, 0, mat->n_col-1, 0,
-                                               0, 0);
-       else if (mat->n_col < mat->n_row) {
+       if (mat->n_col > mat->n_row) {
+               bset = isl_basic_set_extend(bset, 0, mat->n_col-1, 0, 0, 0);
+               if (!bset)
+                       goto error;
+       } else if (mat->n_col < mat->n_row) {
                bset->dim = isl_dim_cow(bset->dim);
                if (!bset->dim)
                        goto error;