Fix some errors reported by scan-build in the fftw functions 40/9040/2
Sylvestre Ledru [Tue, 18 Sep 2012 08:59:55 +0000 (10:59 +0200)]
Change-Id: Id25beb830e345daf9af013344a721174574515f4

scilab/modules/fftw/sci_gateway/c/sci_fftw.c
scilab/modules/fftw/src/c/fftw_utilities.c

index 1140c85..0a596bd 100644 (file)
@@ -245,29 +245,103 @@ int getArrayOfDouble(void* _pvCtx, int *piAddr, int *ndims, int **dims, double *
     else if (iType == sci_mlist)
     {
         sciErr = getListItemNumber(_pvCtx, piAddr, &nItems);
-        if (nItems != 3) return 0;
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
+        if (nItems != 3)
+        {
+            return 0;
+        }
         /*Check if first item is ["hm","dims","entries"] */
         sciErr = getListItemAddress(_pvCtx, piAddr, 1, &piAddrChild);
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
         sciErr = getVarType(_pvCtx, piAddrChild, &iType);
-        if (iType != sci_strings) return 0;
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
+        if (iType != sci_strings)
+        {
+            return 0;
+        }
         sciErr = getVarDimension(_pvCtx, piAddrChild, &iRows, &iCols);
-        if (iRows*iCols != 3) return 0;
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
+        if (iRows*iCols != 3)
+        {
+            return 0;
+        }
         /* Check if first entry of the first item is "hm" */
         piOffset = piAddrChild + 4;
-        if (piOffset[1] - piOffset[0] != 2)  return 0;
+        if (piOffset[1] - piOffset[0] != 2)
+        {
+            return 0;
+        }
         piData = piOffset + iRows * iCols + 1;
-        if (piData[0] != 17 || piData[1] != 22) return 0; /* check "hm" */
+        if (piData[0] != 17 || piData[1] != 22)
+        {
+            return 0; /* check "hm" */
+        }
         /* Get second item dims */
         sciErr = getListItemAddress(_pvCtx, piAddr, 2, &piAddrChild);
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
         sciErr = getVarType(_pvCtx, piAddrChild, &iType);
-        if (iType != sci_ints) return 0;
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
+        if (iType != sci_ints)
+        {
+            return 0;
+        }
         sciErr = getMatrixOfInteger32(_pvCtx, piAddrChild, &iRows, &iCols, dims);
-        if (sciErr.iErr)  return 0;
+        if (sciErr.iErr)
+        {
+            return 0;
+        }
         *ndims = iRows * iCols;
         /* Get thirds item entries */
+
         sciErr = getListItemAddress(_pvCtx, piAddr, 3, &piAddrChild);
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
         sciErr = getVarType(_pvCtx, piAddrChild, &iType);
-        if (iType != sci_matrix) return 0;
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            return 0;
+        }
+
+        if (iType != sci_matrix)
+        {
+            return 0;
+        }
+
         if (isVarComplex(_pvCtx, piAddrChild))
         {
             getComplexMatrixOfDouble(_pvCtx, piAddrChild, &iRows, &iCols, Ar, Ai);
index a17dfb7..ec0635d 100644 (file)
@@ -514,7 +514,6 @@ int check_ND_symmetry(double *Ar, double *Ai, int ndims, int *dims, int *incr)
     nSubs2 = (int)(nSub / 2);
 
 
-    k = 0;
     if (Ai == NULL)
     {
         /* Real case */
@@ -927,7 +926,7 @@ int complete_ND_array(double *Ar, double *Ai, int ndims, int *dims, int *incr)
     for (i = 0; i < ndims; i++) nSub *= (dims[i] - 1);
 
     nSubs2 = (int)(nSub / 2);
-    k = 0;
+
     if (Ai == 0)
     {
         /* Real case */