diff options
author | Frank Schmirler <vdr@schmirler.de> | 2011-11-12 22:30:48 +0100 |
---|---|---|
committer | Frank Schmirler <vdr@schmirler.de> | 2011-11-12 22:31:39 +0100 |
commit | 30674fb6c83fea4f20bd54b70ed23f4defbb9dbd (patch) | |
tree | 84d3e8207afd3e2c57f60135a442c681a45a1caa /libdvbmpeg | |
parent | 8850e63da52f7eefbd656447becc2956b17ec614 (diff) | |
download | vdr-plugin-streamdev-30674fb6c83fea4f20bd54b70ed23f4defbb9dbd.tar.gz vdr-plugin-streamdev-30674fb6c83fea4f20bd54b70ed23f4defbb9dbd.tar.bz2 |
fixed memory leak in libdvbmpeg read_pes (fixes #769)
Diffstat (limited to 'libdvbmpeg')
-rw-r--r-- | libdvbmpeg/ctools.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libdvbmpeg/ctools.c b/libdvbmpeg/ctools.c index 113c973..185ba45 100644 --- a/libdvbmpeg/ctools.c +++ b/libdvbmpeg/ctools.c @@ -596,7 +596,10 @@ int read_pes(int f, pes_packet *p){ if (p->length >0){ buf = (uint8_t *) malloc(p->length); - if((neof = save_read(f,buf,p->length))< p->length) return -1; + if((neof = save_read(f,buf,p->length))< p->length){ + free(buf); + return -1; + } cread_pes((char *)buf,p); free(buf); } else return 0; |