Allocated memory will never get free when read fails. See attached patch. Tomer
diff -r d3509d6e9499 lib/libdvbapi/dvbca.c --- a/lib/libdvbapi/dvbca.c Sat Aug 08 19:17:21 2009 +0200 +++ b/lib/libdvbapi/dvbca.c Sun Jul 25 15:50:30 2010 +0300 @@ -110,8 +110,10 @@ if (buf == NULL) return -1; - if ((size = read(fd, buf, data_length+2)) < 2) + if ((size = read(fd, buf, data_length+2)) < 2) { + free(buf); return -1; + } *slot = buf[0]; *connection_id = buf[1];