Coverity: graphics module unchecked returns fixed
[scilab.git] / scilab / modules / graphics / sci_gateway / c / sci_name2rgb.c
index 1577323..a8aac75 100644 (file)
@@ -2,14 +2,17 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
  *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ * Copyright (C) 2012 - 2016 - Scilab Enterprises
+ *
+ * This file is hereby licensed under the terms of the GNU GPL v2.0,
+ * pursuant to article 5.3.4 of the CeCILL v.2.1.
+ * This file was originally licensed under the terms of the CeCILL v2.1,
+ * and continues to be available under such terms.
+ * For more information, see the COPYING file which you should have received
+ * along with this program.
  *
  */
-#include "MALLOC.h"
+#include "sci_malloc.h"
 #include "gw_graphics.h"
 #include "api_scilab.h"
 #include "localization.h"
@@ -18,7 +21,7 @@
 #include "CurrentFigure.h"
 #include "createGraphicObject.h"
 
-int sci_name2rgb(char *fname, unsigned long fname_len)
+int sci_name2rgb(char *fname, void* pvApiCtx)
 {
     SciErr sciErr;
     int* piAddr = NULL;
@@ -48,7 +51,11 @@ int sci_name2rgb(char *fname, unsigned long fname_len)
 
     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);
 
@@ -63,7 +70,11 @@ int sci_name2rgb(char *fname, unsigned long fname_len)
     }
     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)