summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/demuxer.c2
-rw-r--r--libmpdemux/demuxer.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index fe707919f4..8b3bdf8bec 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -347,7 +347,7 @@ void ds_free_packs(demux_stream_t *ds){
demux_packet_t *dp=ds->first;
while(dp){
demux_packet_t *dn=dp->next;
- free(dp->buffer);
+ if(dp->buffer) free(dp->buffer);
free(dp);
dp=dn;
}
diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h
index 5547c41642..b0ccc2f518 100644
--- a/libmpdemux/demuxer.h
+++ b/libmpdemux/demuxer.h
@@ -118,7 +118,7 @@ typedef struct demuxer_st {
inline static demux_packet_t* new_demux_packet(int len){
demux_packet_t* dp=malloc(sizeof(demux_packet_t));
dp->len=len;
- dp->buffer=malloc(len);
+ dp->buffer=len?malloc(len):NULL;
dp->next=NULL;
dp->pts=0;
dp->pos=0;