summaryrefslogtreecommitdiff
path: root/sccomp/source/solver
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-01-31 14:46:38 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-02-01 12:15:22 +0000
commit2489000d3fd66319a8355fd4e37cfdfda47296d0 (patch)
treecaad79e7b5bec3863604b20190b682c0d73d2b25 /sccomp/source/solver
parent595848c85acc2609fcc48a40c7a9f216a2722cd8 (diff)
loplugin:useuniqueptr extend to check local vars
just the simple and obvious case for now, of a local var being allocated and deleted inside a single local block, and the delete happening at the end of the block Change-Id: I3a7a094da543debdcd2374737c2ecff91d644625 Reviewed-on: https://gerrit.libreoffice.org/33749 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sccomp/source/solver')
-rw-r--r--sccomp/source/solver/LpsolveSolver.cxx6
1 files changed, 2 insertions, 4 deletions
diff --git a/sccomp/source/solver/LpsolveSolver.cxx b/sccomp/source/solver/LpsolveSolver.cxx
index d517696c8577..114a259dc304 100644
--- a/sccomp/source/solver/LpsolveSolver.cxx
+++ b/sccomp/source/solver/LpsolveSolver.cxx
@@ -218,7 +218,7 @@ void SAL_CALL LpsolveSolver::solve()
table::CellAddress aLeftAddr = maConstraints[nConstrPos].Left;
const std::vector<double>& rLeftCoeff = aCellsHash[aLeftAddr];
- REAL* pValues = new REAL[nVariables+1];
+ std::unique_ptr<REAL[]> pValues(new REAL[nVariables+1] );
pValues[0] = 0.0; // ignored?
for (nVar=0; nVar<nVariables; nVar++)
pValues[nVar+1] = rLeftCoeff[nVar+1];
@@ -247,9 +247,7 @@ void SAL_CALL LpsolveSolver::solve()
default:
OSL_FAIL( "unexpected enum type" );
}
- add_constraint( lp, pValues, nConstrType, fRightValue );
-
- delete[] pValues;
+ add_constraint( lp, pValues.get(), nConstrType, fRightValue );
}
}