Salome HOME
Correct some memory leaks
authorjrt <jrt>
Fri, 5 Sep 2003 11:45:54 +0000 (11:45 +0000)
committerjrt <jrt>
Fri, 5 Sep 2003 11:45:54 +0000 (11:45 +0000)
src/DriverDAT/DriverDAT_W_SMESHDS_Mesh.cxx
src/DriverMED/DriverMED_W_SMESHDS_Mesh.cxx
src/SMESH/SMESH_Hexa_3D.cxx

index adcbd21..0c988c3 100644 (file)
@@ -196,6 +196,7 @@ void DriverDAT_W_SMESHDS_Mesh::Add()
                SMDS_Iterator<const SMDS_MeshElement *> * itNodes=elem->nodesIterator();
                while(itNodes->more())
                        fprintf(myFileId, "%d ", itNodes->next()->GetID());
                SMDS_Iterator<const SMDS_MeshElement *> * itNodes=elem->nodesIterator();
                while(itNodes->more())
                        fprintf(myFileId, "%d ", itNodes->next()->GetID());
+               delete itNodes;
        
                fprintf(myFileId, "\n");
        }
        
                fprintf(myFileId, "\n");
        }
@@ -218,7 +219,8 @@ void DriverDAT_W_SMESHDS_Mesh::Add()
                SMDS_Iterator<const SMDS_MeshElement *> * itNodes=elem->nodesIterator();
                while(itNodes->more())
                        fprintf(myFileId, "%d ", itNodes->next()->GetID());
                SMDS_Iterator<const SMDS_MeshElement *> * itNodes=elem->nodesIterator();
                while(itNodes->more())
                        fprintf(myFileId, "%d ", itNodes->next()->GetID());
-               
+               delete itNodes; 
+
                fprintf(myFileId, "\n");
        }
        delete itVolumes;
                fprintf(myFileId, "\n");
        }
        delete itVolumes;
index 5665790..1c602e3 100644 (file)
@@ -573,12 +573,12 @@ void DriverMED_W_SMESHDS_Mesh::Add()
                                /* allocation memoire */
                                connectivite =
                                        (med_int *) malloc(sizeof(med_int) * taille * nmailles[i]);
                                /* allocation memoire */
                                connectivite =
                                        (med_int *) malloc(sizeof(med_int) * taille * nmailles[i]);
-                               nomele =
+                               /* nomele =
                                        (char *)malloc(sizeof(char) * MED_TAILLE_PNOM *
                                        (char *)malloc(sizeof(char) * MED_TAILLE_PNOM *
-                                       nmailles[i] + 1);
+                                       nmailles[i] + 1);*/
+                               nomele = "";
                                numele = (med_int *) malloc(sizeof(med_int) * nmailles[i]);
                                nufael = (med_int *) malloc(sizeof(med_int) * nmailles[i]);
                                numele = (med_int *) malloc(sizeof(med_int) * nmailles[i]);
                                nufael = (med_int *) malloc(sizeof(med_int) * nmailles[i]);
-                               nomele = "";
                                nbNodes = typmai[i] % 100;
 
                                for (j = 0; j < nmailles[i]; j++)
                                nbNodes = typmai[i] % 100;
 
                                for (j = 0; j < nmailles[i]; j++)
@@ -637,7 +637,6 @@ void DriverMED_W_SMESHDS_Mesh::Add()
                                /* liberation memoire */
                                free(connectivite);
                                free(numele);
                                /* liberation memoire */
                                free(connectivite);
                                free(numele);
-                               free(nomele);
                                free(nufael);
                                MESSAGE(" End " << typmai[i]);
                        }
                                free(nufael);
                                MESSAGE(" End " << typmai[i]);
                        }
index 69f036f..ef661bc 100644 (file)
@@ -439,6 +439,7 @@ bool SMESH_Hexa_3D::Compute(SMESH_Mesh & aMesh,
                        int ij1 = j1 * nbdown + i1;
                        quad->uv_grid[ij1].node = node;
                }
                        int ij1 = j1 * nbdown + i1;
                        quad->uv_grid[ij1].node = node;
                }
+               delete itf;
 
                for (int i1 = 0; i1 < nbdown; i1++)
                        for (int j1 = 0; j1 < nbright; j1++)
 
                for (int i1 = 0; i1 < nbdown; i1++)
                        for (int j1 = 0; j1 < nbright; j1++)