Coverity #1352290, #109679, #1321277 fixed 77/18477/3
Dhruv Khattar [Wed, 17 Aug 2016 17:19:34 +0000 (22:19 +0530)]
Change-Id: Ifab073b304d0375003d3648cecb5fdb29144cb49

scilab/modules/scicos/src/c/ezxml.c
scilab/modules/scicos/src/c/import.c
scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp

index 91e899b..dc0b102 100644 (file)
@@ -1047,7 +1047,10 @@ ezxml_t ezxml_parse_fd(int fd)
     {
         return NULL;
     }
-    fstat(fd, &st);
+    if (fstat(fd, &st) < 0)
+    {
+        return NULL;
+    }
 
 #ifndef EZXML_NOMMAP
     l = (st.st_size + sysconf(_SC_PAGESIZE) - 1) & ~(sysconf(_SC_PAGESIZE) - 1);
index ed37673..7bcadc2 100644 (file)
@@ -960,8 +960,7 @@ int C2F(getsciblockbylabel)(int*kfun, int label[], int *n)
 /*--------------------------------------------------------------------------*/
 int getscilabel(int *kfun, char *label, int *n)
 {
-    int k, i;
-    int *u, *y;
+    int k;
 
     if (scicos_imp.x == (double *)NULL)
     {
@@ -972,12 +971,7 @@ int getscilabel(int *kfun, char *label, int *n)
     *n = (int)(scicos_imp.izptr[k] - scicos_imp.izptr[k - 1]);
     if (*n > 0 )
     {
-        u = (char **) & (scicos_imp.iz[scicos_imp.izptr[k - 1] - 1]);
-        y = &label;
-        for (i = 0; i < *n; i++)
-        {
-            *(y++) = *(u++);
-        }
+        strcpy(label, scicos_imp.iz[k]);
     }
     return 0;
 }
index b8541b6..07a1190 100644 (file)
@@ -991,9 +991,9 @@ struct rpar
             for (int i = 0; i < static_cast<int>(clonedLinks.size()); ++i)
             {
                 auto o = controller.getObject(clonedLinks[i]);
-                LinkAdapter* newLink = new LinkAdapter(controller, static_cast<model::Link*>(o));
-                newLink->setFromInModel(diagram->getFrom()[i], controller);
-                newLink->setToInModel(diagram->getTo()[i], controller);
+                LinkAdapter newLink (controller, static_cast<model::Link*>(o));
+                newLink.setFromInModel(diagram->getFrom()[i], controller);
+                newLink.setToInModel(diagram->getTo()[i], controller);
             }
 
             // Save the context