From 307e8b586f9149fee596ffbc3481fc071a1fad13 Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Tue, 25 Aug 2015 15:41:25 +0000 Subject: [PATCH] lpsolve5j.cpp: Fix deletes The Java wrapper around the C++ lpsolve library uses the construct delete a, b, c; in several locations. The apparent goal is to delete all the pointers, however the semantics of the C++ comma operator intervene: Only the first pointer is deleted. It looks like the relevant locations are never reached from PRISM code, so we fix it mostly to silence the compiler warnings. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10571 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- .../ext/lp_solve_5.5_java/src/c/lpsolve5j.cpp | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/prism/ext/lp_solve_5.5_java/src/c/lpsolve5j.cpp b/prism/ext/lp_solve_5.5_java/src/c/lpsolve5j.cpp index 030c1657..4bb1f1d9 100755 --- a/prism/ext/lp_solve_5.5_java/src/c/lpsolve5j.cpp +++ b/prism/ext/lp_solve_5.5_java/src/c/lpsolve5j.cpp @@ -3222,7 +3222,9 @@ JNIEXPORT void JNICALL Java_lpsolve_LpSolve_getSensitivityRhs /* no exception check; we're terminating anyway */ cleanup: - delete c_duals, c_dualsfrom, c_dualstill; + delete c_duals; + delete c_dualsfrom; + delete c_dualstill; } /* @@ -3309,7 +3311,9 @@ JNIEXPORT jobjectArray JNICALL Java_lpsolve_LpSolve_getPtrSensitivityRhs cleanup: - delete c_duals, c_dualsfrom, c_dualstill; + delete c_duals; + delete c_dualsfrom; + delete c_dualstill; return result; } @@ -3445,7 +3449,8 @@ JNIEXPORT void JNICALL Java_lpsolve_LpSolve_getSensitivityObj /* no exception check; we're terminating anyway */ cleanup: - delete c_objfrom, c_objtill; + delete c_objfrom; + delete c_objtill; } /* @@ -3518,7 +3523,8 @@ JNIEXPORT jobjectArray JNICALL Java_lpsolve_LpSolve_getPtrSensitivityObj cleanup: - delete c_objfrom, c_objtill; + delete c_objfrom; + delete c_objtill; return result; } @@ -3580,7 +3586,10 @@ void getSensitivityObjex /* no exception check; we're terminating anyway */ cleanup: - delete c_objfrom, c_objtill, c_objfromvalue, c_objtillvalue; + delete c_objfrom; + delete c_objtill; + delete c_objfromvalue; + delete c_objtillvalue; } @@ -3658,7 +3667,10 @@ JNIEXPORT jobjectArray JNICALL Java_lpsolve_LpSolve_getPtrSensitivityObjex /* no exception check; we're terminating anyway */ cleanup: - delete c_objfrom, c_objtill, c_objfromvalue, c_objtillvalue; + delete c_objfrom; + delete c_objtill; + delete c_objfromvalue; + delete c_objtillvalue; return result; }