Hi,

The following in memory.c [1] looks like an unfortunate typo:

  if (p_memory != NULL) return;

The result is that cdio_free() currently leaks every block of memory it should deallocate... :(

On a side note, free() is supposed to accept NULL as a pointer ([2] "If ptr is NULL, no operation is performed."), so the check for NULL could probably be avoided.

Regards,

/Pete

[1] http://git.savannah.gnu.org/gitweb/?p=libcdio.git;a=blob;f=lib/driver/memory.c#l39
[2] http://linux.die.net/man/3/free

Reply via email to