manu-projects / manu-cproject

1 stars 0 forks source link

Doc: Leaks al vaciar Buffer #70

Open neverkas opened 2 years ago

neverkas commented 2 years ago
t_buffer* empty_buffer() {
  t_buffer* nuevoBuffer = NULL;

  nuevoBuffer = malloc(sizeof(t_buffer));

  nuevoBuffer->size = 0;
  nuevoBuffer->stream = NULL;

  return nuevoBuffer;
}
t_buffer* crear_mensaje(char* texto) {
  int mensaje_longitud = strlen(texto) + 1; // sumamos el '\0' que indica fin de cadena
  int mensaje_size = sizeof(char) * mensaje_longitud; // 5 Bytes

  t_buffer* mensaje = NULL;
  // mensaje = empty_buffer(); // <- generaba leaks
  mensaje = malloc(sizeof(t_buffer));
  mensaje->stream = NULL;
  mensaje->stream = malloc(mensaje_size); // TODO: need free (2)
  mensaje->size = mensaje_size;

  memcpy(mensaje->stream, (void*)texto, mensaje_size);

  return mensaje;
}

int main(){
  t_paquete* paquete1 = paquete_create();
  t_buffer* mensaje1 = crear_mensaje("chau");
  paquete1->buffer = mensaje1;
  enviar_mensaje(fd_servidor, paquete1);

  paquete_destroy(paquete1);

}