fix newly coverity reports 74/12874/2
Antoine ELIAS [Thu, 10 Oct 2013 08:31:53 +0000 (10:31 +0200)]
CID: 1103889, 1103890, 1103891, 1103892, 1103893, 1103885, 1098601, 1099034, 1103888

Change-Id: Iaf192d629e31fac87b25fe991ca15fbad78a16e1

scilab/modules/fileio/sci_gateway/c/sci_movefile.c
scilab/modules/fileio/sci_gateway/c/sci_tempname.c
scilab/modules/hdf5/sci_gateway/cpp/sci_import_from_hdf5.cpp
scilab/modules/io/sci_gateway/c/sci_save.c
scilab/modules/io/sci_gateway/c/sci_setenv.c
scilab/modules/localization/src/c/charEncoding.c
scilab/modules/string/sci_gateway/c/sci_strsubst.c
scilab/modules/string/src/c/stringsstrrev.c

index 2085ed3..ca2362f 100644 (file)
@@ -144,17 +144,8 @@ int sci_movefile(char *fname, unsigned long fname_len)
                 }
                 else
                 {
-                    if (pStVarOneExpanded)
-                    {
-                        FREE(pStVarOneExpanded);
-                        pStVarOneExpanded = NULL;
-                    }
-                    if (pStVarTwoExpanded)
-                    {
-                        FREE(pStVarTwoExpanded);
-                        pStVarTwoExpanded = NULL;
-                    }
-
+                    FREE(pStVarOneExpanded);
+                    FREE(pStVarTwoExpanded);
                     Scierror(999, _("%s: Memory allocation error.\n"), fname);
                     return 0;
                 }
@@ -167,17 +158,8 @@ int sci_movefile(char *fname, unsigned long fname_len)
         }
         else
         {
-            if (pStVarOneExpanded)
-            {
-                FREE(pStVarOneExpanded);
-                pStVarOneExpanded = NULL;
-            }
-
-            if (pStVarTwo)
-            {
-                FREE(pStVarTwoExpanded);
-                pStVarTwoExpanded = NULL;
-            }
+            FREE(pStVarOneExpanded);
+            FREE(pStVarTwoExpanded);
             Scierror(999, _("%s: Wrong value for input argument #%d: A valid filename or directory expected.\n"), fname, 1);
             return 0;
         }
@@ -189,16 +171,8 @@ int sci_movefile(char *fname, unsigned long fname_len)
         Scierror(999, _("%s: Wrong value for input argument #%d: A valid filename or directory expected.\n"), fname, 1);
     }
 
-    if (pStVarOneExpanded)
-    {
-        FREE(pStVarOneExpanded);
-        pStVarOneExpanded = NULL;
-    }
-    if (pStVarTwoExpanded)
-    {
-        FREE(pStVarTwoExpanded);
-        pStVarTwoExpanded = NULL;
-    }
+    FREE(pStVarOneExpanded);
+    FREE(pStVarTwoExpanded);
 
     return 0;
 }
index ba4b7b0..5e8be91 100644 (file)
@@ -34,7 +34,7 @@ int sci_tempname(char *fname, unsigned long fname_len)
         wcprefix = (wchar_t *)MALLOC(sizeof(wchar_t) * (wcslen(DEFAULT_PREFIX) + 1));
         wcscpy(wcprefix, DEFAULT_PREFIX);
     }
-    else if (Rhs == 1)
+    else
     {
         int *piAddressVarOne = NULL;
 
index fa83fa6..3e944b7 100644 (file)
@@ -387,6 +387,11 @@ static bool import_double(int _iDatasetId, int _iItemPos, int *_piAddress, char
         iRet = readEmptyMatrix(_iDatasetId);
         if (iRet)
         {
+            if (piDims)
+            {
+                FREE(piDims);
+            }
+
             return false;
         }
 
index b394e2a..8e3e9c0 100644 (file)
@@ -79,6 +79,7 @@ int sci_save(char *fname, unsigned long fname_len)
                     //try to get variable by name
                     sciErr = getVarAddressFromName(pvApiCtx, pstVarI, &piAddrI2);
                     freeAllocatedSingleString(pstVarI);
+                    pstVarI = NULL;
                     if (sciErr.iErr || piAddrI2 == NULL)
                     {
                         // Try old save because here the input variable can be of type "string" but not a variable name
index e3da930..766294f 100644 (file)
@@ -82,6 +82,7 @@ int sci_setenv(char *fname, unsigned long fname_len)
             freeAllocatedSingleString(pstValue);
         }
 
+        FREE(pstVar);
         Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
         return 0;
     }
index e213173..7f9bd0e 100644 (file)
@@ -123,13 +123,15 @@ char *wide_string_to_UTF8(const wchar_t *_wide)
     char* pchar = NULL;
     /* The value of MB_CUR_MAX is the maximum number of bytes
     in a multibyte character for the current locale. */
-    int iMaxLen = (int)wcslen(_wide) * MB_CUR_MAX ;
+    int iMaxLen =  0;
 
     if (_wide == NULL)
     {
         return NULL;
     }
 
+    int iMaxLen =  (int)wcslen(_wide) * MB_CUR_MAX ;
+
     pchar = (char*) MALLOC(( iMaxLen + 1) * sizeof(char));
     if (pchar == NULL)
     {
index 6d93251..a9aab95 100644 (file)
@@ -99,6 +99,11 @@ int sci_strsubst(char *fname, unsigned long fname_len)
 
         if (getAllocatedSingleString(pvApiCtx, piAddressVarFour, &pStVarFour))
         {
+            if (pStVarFour)
+            {
+                freeAllocatedSingleString(pStVarFour);
+            }
+
             printError(&sciErr, 0);
             Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 4);
             return 0;
index 8cfedc5..6d92deb 100644 (file)
@@ -78,11 +78,7 @@ char* scistrrev(char* str)
         }
         revstr = wide_string_to_UTF8(wcstr);
 #endif
-        if (wcstr)
-        {
-            FREE(wcstr);
-            wcstr = NULL;
-        }
+        FREE(wcstr);
     }
     return revstr;
 }