Fix CID 1321272 - free of array-typed value 50/18950/2
Clément DAVID [Wed, 25 Jan 2017 09:09:23 +0000 (10:09 +0100)]
Change-Id: Idbe6271c0f6b2178baa41b8a0adba2cbc4ba0eb6

scilab/modules/graphics/sci_gateway/cpp/sci_matplot.cpp

index a092f68..0a52d10 100644 (file)
@@ -40,6 +40,7 @@ extern "C"
 #include "localization.h"
 #include "Scierror.h"
 #include "Matplot.h"
+#include "os_string.h"
 }
 
 /*--------------------------------------------------------------------------*/
@@ -56,7 +57,6 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
     int *axesflag  = NULL;
 
     char* strf      = NULL ;
-    char strfl[4];
     double* rect    = NULL ;
     int* nax        = NULL ;
     BOOL flagNax    = FALSE;
@@ -381,22 +381,21 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
     {
         reinitDefStrfN();
 
-        strcpy(strfl, DEFSTRFN);
-        strf = strfl;
+        strf = os_strdup(DEFSTRFN);
 
         if (!isDefRect(rect))
         {
-            strfl[1] = '7';
+            strf[1] = '7';
         }
 
         if (frameflag != &frame_def)
         {
-            strfl[1] = (char)(*frame + 48);
+            strf[1] = (char)(*frame + 48);
         }
 
         if (axesflag != &axes_def)
         {
-            strfl[2] = (char)(*axes + 48);
+            strf[2] = (char)(*axes + 48);
         }
     }