diff --git a/src/api/api_ast_map.cpp b/src/api/api_ast_map.cpp index 72bf0d7a8..714712faf 100644 --- a/src/api/api_ast_map.cpp +++ b/src/api/api_ast_map.cpp @@ -53,7 +53,8 @@ extern "C" { Z3_TRY; LOG_Z3_ast_map_dec_ref(c, m); RESET_ERROR_CODE(); - to_ast_map(m)->dec_ref(); + if (m) + to_ast_map(m)->dec_ref(); Z3_CATCH; } diff --git a/src/api/api_datalog.cpp b/src/api/api_datalog.cpp index 6bf5af0e6..224e86b89 100644 --- a/src/api/api_datalog.cpp +++ b/src/api/api_datalog.cpp @@ -243,7 +243,8 @@ extern "C" { Z3_TRY; LOG_Z3_fixedpoint_dec_ref(c, s); RESET_ERROR_CODE(); - to_fixedpoint(s)->dec_ref(); + if (s) + to_fixedpoint(s)->dec_ref(); Z3_CATCH; } diff --git a/src/api/api_goal.cpp b/src/api/api_goal.cpp index a9dddd6f2..7e2b5cd55 100644 --- a/src/api/api_goal.cpp +++ b/src/api/api_goal.cpp @@ -53,7 +53,8 @@ extern "C" { Z3_TRY; LOG_Z3_goal_dec_ref(c, g); RESET_ERROR_CODE(); - to_goal(g)->dec_ref(); + if (g) + to_goal(g)->dec_ref(); Z3_CATCH; } diff --git a/src/api/api_opt.cpp b/src/api/api_opt.cpp index e20c78738..7b5ba7467 100644 --- a/src/api/api_opt.cpp +++ b/src/api/api_opt.cpp @@ -68,7 +68,8 @@ extern "C" { Z3_TRY; LOG_Z3_optimize_dec_ref(c, o); RESET_ERROR_CODE(); - to_optimize(o)->dec_ref(); + if (o) + to_optimize(o)->dec_ref(); Z3_CATCH; } diff --git a/src/api/api_params.cpp b/src/api/api_params.cpp index 866687b7e..d17018638 100644 --- a/src/api/api_params.cpp +++ b/src/api/api_params.cpp @@ -55,7 +55,8 @@ extern "C" { Z3_TRY; LOG_Z3_params_dec_ref(c, p); RESET_ERROR_CODE(); - to_params(p)->dec_ref(); + if (p) + to_params(p)->dec_ref(); Z3_CATCH; } diff --git a/src/api/api_solver.cpp b/src/api/api_solver.cpp index 577ff934c..6d6f01ddb 100644 --- a/src/api/api_solver.cpp +++ b/src/api/api_solver.cpp @@ -402,7 +402,8 @@ extern "C" { Z3_TRY; LOG_Z3_solver_dec_ref(c, s); RESET_ERROR_CODE(); - to_solver(s)->dec_ref(); + if (s) + to_solver(s)->dec_ref(); Z3_CATCH; } diff --git a/src/api/api_stats.cpp b/src/api/api_stats.cpp index 0278d7d31..01b521ed6 100644 --- a/src/api/api_stats.cpp +++ b/src/api/api_stats.cpp @@ -49,7 +49,8 @@ extern "C" { Z3_TRY; LOG_Z3_stats_dec_ref(c, s); RESET_ERROR_CODE(); - to_stats(s)->dec_ref(); + if (s) + to_stats(s)->dec_ref(); Z3_CATCH; } diff --git a/src/api/api_tactic.cpp b/src/api/api_tactic.cpp index 7314c9b60..adaa1f8e1 100644 --- a/src/api/api_tactic.cpp +++ b/src/api/api_tactic.cpp @@ -74,7 +74,8 @@ extern "C" { Z3_TRY; LOG_Z3_tactic_dec_ref(c, t); RESET_ERROR_CODE(); - to_tactic(t)->dec_ref(); + if (t) + to_tactic(t)->dec_ref(); Z3_CATCH; } @@ -104,7 +105,8 @@ extern "C" { Z3_TRY; LOG_Z3_probe_dec_ref(c, p); RESET_ERROR_CODE(); - to_probe(p)->dec_ref(); + if (p) + to_probe(p)->dec_ref(); Z3_CATCH; } @@ -476,7 +478,8 @@ extern "C" { Z3_TRY; LOG_Z3_apply_result_dec_ref(c, r); RESET_ERROR_CODE(); - to_apply_result(r)->dec_ref(); + if (r) + to_apply_result(r)->dec_ref(); Z3_CATCH; }