Coverity: cacsd module memory errors fixed 25/18325/4
Dhruv Khattar [Wed, 29 Jun 2016 21:01:15 +0000 (02:01 +0530)]
Change-Id: I9fb4158ef247dfe4d3a7888cb7037fba4354b55d

scilab/modules/cacsd/sci_gateway/c/sci_sident.c
scilab/modules/cacsd/sci_gateway/cpp/sci_residu.cpp
scilab/modules/cacsd/src/c/dmp2pm.c

index 74e0564..9fa6437 100644 (file)
@@ -460,7 +460,7 @@ int sci_sident(char *fname, void* pvApiCtx)
     {
         iLIWORK = Max(iLIWORK, iM * iNPL);
     }
-    else
+    else // not handled yet
     {
         iLIWORK = Max(iLIWORK, Max(iLNOBR, iM * iNPL));
     }
index 45a2a3a..fd75b41 100644 (file)
@@ -78,7 +78,7 @@ types::Function::ReturnValue sci_residu(types::typed_list &in, int _iRetCount, t
 
                 pdblInR[i]  = new double*[iSize];
                 double* pdbl = pDblIn[i]->get();
-                for (int j = 0; j < iSize; i++)
+                for (int j = 0; j < iSize; j++)
                 {
                     pdblInR[i][j] = pdbl + j;
                 }
@@ -87,7 +87,7 @@ types::Function::ReturnValue sci_residu(types::typed_list &in, int _iRetCount, t
                 {
                     pdblInI[i]  = new double*[iSize];
                     double* pdbl = pDblIn[i]->get();
-                    for (int j = 0; j < iSize; i++)
+                    for (int j = 0; j < iSize; j++)
                     {
                         pdblInI[i][j] = pdbl + j;
                     }
index d3d8f08..5125186 100644 (file)
@@ -28,7 +28,7 @@ double* dmp2pm(double** _pdblMP, int _iSizeMP, int* _piRanks, int _iMaxRank)
     pdblPM = (double*)malloc(iSizePM * sizeof(double));
     memset(pdblPM, 0x00, iSizePM * sizeof(double));
 
-    if (_piRanks == NULL && _iMaxRank == 0)
+    if (_piRanks == NULL || _iMaxRank == 0)
     {
         // shortcut in case where pdblMP come from a types::Double
         // a matrix of double considered as a polynomial of degree zero