From 50dca7dc81c8042b33907cda45567713ba78b17b Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Sun, 8 Oct 2017 21:27:12 +0200
Subject: [PATCH] cppcheck: uninitialized variables

---
 src/cltools/Driver.cpp               | 2 +-
 src/gridtools/FindContourSurface.cpp | 2 +-
 src/multicolvar/MultiColvarBase.cpp  | 3 ++-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/cltools/Driver.cpp b/src/cltools/Driver.cpp
index 6ff69f110..3317468ef 100644
--- a/src/cltools/Driver.cpp
+++ b/src/cltools/Driver.cpp
@@ -738,7 +738,7 @@ int Driver<real>::main(FILE* in,FILE*out,Communicator& pc) {
         matrix box;
         rvec* pos=new rvec[natoms];
         float prec,lambda;
-        int ret;
+        int ret=exdrOK;
         if(trajectory_fmt=="xdr-xtc") ret=read_xtc(xd,natoms,&localstep,&time,box,pos,&prec);
         if(trajectory_fmt=="xdr-trr") ret=read_trr(xd,natoms,&localstep,&time,&lambda,box,pos,NULL,NULL);
         if(stride==0) step=localstep;
diff --git a/src/gridtools/FindContourSurface.cpp b/src/gridtools/FindContourSurface.cpp
index 8ffcaa716..4cbf9ded2 100644
--- a/src/gridtools/FindContourSurface.cpp
+++ b/src/gridtools/FindContourSurface.cpp
@@ -210,7 +210,7 @@ void FindContourSurface::finishAveraging() {
 }
 
 void FindContourSurface::compute( const unsigned& current, MultiValue& myvals ) const {
-  std::vector<unsigned> neighbours; unsigned num_neighbours; unsigned nfound=0; double minv=0, minp;
+  std::vector<unsigned> neighbours; unsigned num_neighbours; unsigned nfound=0; double minv=0, minp=0;
   std::vector<unsigned> bins_n( ingrid->getNbin() ); unsigned shiftn=current;
   std::vector<unsigned> ind( ingrid->getDimension() ); std::vector<double> point( ingrid->getDimension() );
 #ifndef DNDEBUG
diff --git a/src/multicolvar/MultiColvarBase.cpp b/src/multicolvar/MultiColvarBase.cpp
index 987eb1532..ee5d4ffa2 100644
--- a/src/multicolvar/MultiColvarBase.cpp
+++ b/src/multicolvar/MultiColvarBase.cpp
@@ -32,6 +32,7 @@
 #include "CatomPack.h"
 #include <vector>
 #include <string>
+#include <limits>
 
 using namespace std;
 
@@ -696,7 +697,7 @@ void MultiColvarBase::calculate() {
   if( !usespecies && ablocks.size()>1 ) {
     // This loop finds the first active atom, which is always checked because
     // of a peculiarity in linkcells
-    unsigned first_active;
+    unsigned first_active=std::numeric_limits<unsigned>::max();
     for(unsigned i=0; i<ablocks[0].size(); ++i) {
       if( !isCurrentlyActive( ablocks[1][i] ) ) continue;
       else {
-- 
GitLab