diff options
-rw-r--r-- | libmpdemux/demuxer.c | 2 | ||||
-rw-r--r-- | libmpdemux/demuxer.h | 2 |
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; |