Coverity: graphics module unchecked returns fixed 65/18365/1
Dhruv Khattar [Fri, 15 Jul 2016 20:48:04 +0000 (01:48 +0530)]
Change-Id: I8415cff92f951b7df49489ca3a2311c094d0dfea

scilab/modules/graphics/sci_gateway/c/sci_color.c
scilab/modules/graphics/sci_gateway/c/sci_name2rgb.c
scilab/modules/graphics/src/c/getHandleProperty/getPropertyAssignedValue.c

index 6a4127d..32f172a 100644 (file)
@@ -57,7 +57,11 @@ int sci_color(char *fname, void* pvApiCtx)
             return 1;
         }
 
-        getAllocatedSingleString(pvApiCtx, piAddr, &pstColor);
+        if (getAllocatedSingleString(pvApiCtx, piAddr, &pstColor))
+        {
+            Scierror(999, _("%s: Wrong type for input argument #%d: A single string expected.\n"), fname, 1);
+            return 1;
+        }
         name2rgb(pstColor, pdblColor);
         freeAllocatedSingleString(pstColor);
         if (pdblColor[0] == -1 || pdblColor[1] == -1 || pdblColor[2] == -1)
index 9b9d328..a8aac75 100644 (file)
@@ -51,7 +51,11 @@ int sci_name2rgb(char *fname, void* pvApiCtx)
 
     if (isScalar(pvApiCtx, piAddr) == TRUE)
     {
-        getAllocatedSingleString(pvApiCtx, piAddr, &pstColor);
+        if (getAllocatedSingleString(pvApiCtx, piAddr, &pstColor))
+        {
+            Scierror(999, _("%s: Wrong type for input argument #%d: A single string expected.\n"), fname, 1);
+            return 1;
+        }
         name2rgb(pstColor, color);
         freeAllocatedSingleString(pstColor);
 
@@ -66,7 +70,11 @@ int sci_name2rgb(char *fname, void* pvApiCtx)
     }
     else
     {
-        getAllocatedMatrixOfString(pvApiCtx, piAddr, &nRows, &nCols, &pstColorMatrix);
+        if (getAllocatedMatrixOfString(pvApiCtx, piAddr, &nRows, &nCols, &pstColorMatrix))
+        {
+            Scierror(999, _("%s: Wrong type for input argument #%d: A matrix of string expected.\n"), fname, 1);
+            return 1;
+        }
         nRowsCols = nRows * nCols;
         pColor = (double*)MALLOC(3 * nRowsCols * sizeof(double));
         for (i = 0; i < nRowsCols; ++i)
index 7caa84a..8a0ef53 100644 (file)
@@ -218,7 +218,10 @@ char ** getStringMatrixFromList(void* _pvCtx, AssignedList* _pList, int _iItem,
     int* piItem = NULL;
     char** pstData = NULL;
     getListItemAddress(_pvCtx, _pList->piList, _iItem, &piItem);
-    getAllocatedMatrixOfString(_pvCtx, piItem, _piRows, _piCols, &pstData);
+    if (getAllocatedMatrixOfString(_pvCtx, piItem, _piRows, _piCols, &pstData))
+    {
+        return NULL;
+    }
     return pstData;
 }
 /*--------------------------------------------------------------------------*/