[MPlayer-cvslog] CVS: main/libmpdemux muxer.c,1.14,1.15
Nico Sabbi CVS
syncmail at mplayerhq.hu
Sun Mar 12 19:13:14 CET 2006
CVS change done by Nico Sabbi CVS
Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var2/tmp/cvs-serv10439
Modified Files:
muxer.c
Log Message:
exit if calloc() fails; free(muxer) before returning NULL if muxer_init() fails (to avoid memleak). Fixes cid 173
Index: muxer.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/muxer.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- muxer.c 26 Jan 2006 19:32:07 -0000 1.14
+++ muxer.c 12 Mar 2006 18:13:11 -0000 1.15
@@ -21,30 +21,47 @@
muxer_t *muxer_new_muxer(int type,FILE *f){
muxer_t* muxer=malloc(sizeof(muxer_t));
memset(muxer,0,sizeof(muxer_t));
+ if(!muxer)
+ return NULL;
muxer->file = f;
switch (type) {
case MUXER_TYPE_MPEG:
if(! muxer_init_muxer_mpeg(muxer))
- return NULL;
+ {
+ free(muxer);
+ return NULL;
+ }
break;
case MUXER_TYPE_RAWVIDEO:
if(! muxer_init_muxer_rawvideo(muxer))
+ {
+ free(muxer);
return NULL;
+ }
break;
case MUXER_TYPE_RAWAUDIO:
if(! muxer_init_muxer_rawaudio(muxer))
+ {
+ free(muxer);
return NULL;
+ }
break;
#if defined(USE_LIBAVFORMAT) || defined(USE_LIBAVFORMAT_SO)
case MUXER_TYPE_LAVF:
if(! muxer_init_muxer_lavf(muxer))
- return NULL;
+ {
+ free(muxer);
+ return NULL;
+ }
break;
#endif
case MUXER_TYPE_AVI:
default:
if(! muxer_init_muxer_avi(muxer))
- return NULL;
+ {
+ free(muxer);
+ return NULL;
+ }
}
return muxer;
}
More information about the MPlayer-cvslog
mailing list