]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
Tamponado de memory leaks...
authorLeandro Lucarella <llucax@gmail.com>
Fri, 28 May 2004 22:44:27 +0000 (22:44 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Fri, 28 May 2004 22:44:27 +0000 (22:44 +0000)
emufs/emufs.c
emufs/tipo1.c
emufs/tipo1_bplus_main.c

index 42c81f1a1f727d2cf5975f51e7b4d54c49719588..cd59b39ada88430d14f69974a21536c0b8e0ad4e 100644 (file)
@@ -472,6 +472,7 @@ int guardar_indice(EMUFS *emu, char *nombre, INDICE_FUNCION funcion, INDICE_TIPO
        fwrite(&cant, 1, sizeof(int), fp);
        fwrite(indices, cant, sizeof(t_Indice), fp);
        fclose(fp);
+       free(indices);
        return 1;
 }
 
index cc519ccb35be57a465ed3bc62821bb36713a0489..ffca1914cf923b2dc8b48a639a317039866fc43a 100644 (file)
@@ -753,7 +753,7 @@ int emufs_tipo1_insertar_ordenado(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, in
        EMUFS_REG_SIZE tam_reg, move_size;
        INDEX_DAT query;
        EMUFS_FREE fs;
-       char *bloque, *aux, *new_bloque;
+       char *bloque = 0, *aux, *new_bloque = 0;
        int cant_reg, i, result, dif;
        
        /*le asigno un posible numero de bloque para el caso en que no encuentre donde meterlo*/
@@ -867,6 +867,8 @@ int emufs_tipo1_insertar_ordenado(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, in
                        clave = grabar_ordenado_en_bloque(emu,ptr,size,new_bloque,query.num_bloque, emu->tam_bloque-move_size,err);
                        if(*err != 0){
                                PERR("NO SE PUDO GRABAR ORDENADO");
+                               free(new_bloque);
+                               free(bloque);
                                return -1;
                        }
                        /*actualizo el arbol con la nueva clave*/
@@ -876,6 +878,8 @@ int emufs_tipo1_insertar_ordenado(EMUFS *emu, void *ptr, EMUFS_REG_SIZE size, in
                        return 0;
                }
        }
+       if (new_bloque) free(new_bloque);
+       if (bloque) free(bloque);
        return 0;
 }
 
index 0d79d65edbfac227ee31486e4bda4d64c3eb2e6f..11b6c3b7e5bd1e78e9cee075a4c26dbbab0f7abe 100644 (file)
@@ -104,6 +104,7 @@ int main (int argc,char* argv[])
        emufs_tipo1_insertar_ordenado(emu, r, len, &err);
        PERR("REGISTRO 6 GRABADO");
        free(r);
+       emufs_destruir(emu);
 
        return 0;