[Mplayer-cvslog] CVS: main mplayer.c,1.763,1.764

Alexander Strasser beastd syncmail at mplayerhq.hu
Fri Jul 23 18:10:23 CEST 2004


CVS change done by Alexander Strasser (beastd)

Update of /cvsroot/mplayer/main
In directory mail:/var2/tmp/cvs-serv15022

Modified Files:
	mplayer.c 
Log Message:
false-use-of-get_path() memleak fixes.


Index: mplayer.c
===================================================================
RCS file: /cvsroot/mplayer/main/mplayer.c,v
retrieving revision 1.763
retrieving revision 1.764
diff -u -r1.763 -r1.764
--- mplayer.c	17 Jul 2004 12:47:12 -0000	1.763
+++ mplayer.c	23 Jul 2004 16:10:21 -0000	1.764
@@ -723,6 +723,7 @@
 int main(int argc,char* argv[]){
 
 
+char * mem_ptr;
 
 static demux_stream_t *d_audio=NULL;
 static demux_stream_t *d_video=NULL;
@@ -904,7 +905,7 @@
 
 // check codec.conf
 if(!codecs_file || !parse_codec_cfg(codecs_file)){
-  if(!parse_codec_cfg(get_path("codecs.conf"))){
+  if(!parse_codec_cfg(mem_ptr=get_path("codecs.conf"))){
     if(!parse_codec_cfg(MPLAYER_CONFDIR "/codecs.conf")){
       if(!parse_codec_cfg(NULL)){
 	mp_msg(MSGT_CPLAYER,MSGL_HINT,MSGTR_CopyCodecsConf);
@@ -913,6 +914,7 @@
       mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_BuiltinCodecsConf);
     }
   }
+  free( mem_ptr ); // release the buffer created by get_path()
 }
 
 #if 0
@@ -1083,7 +1085,8 @@
        if(!vo_font) mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CantLoadFont,font_name);
   } else {
       // try default:
-       vo_font=read_font_desc(get_path("font/font.desc"),font_factor,verbose>1);
+       vo_font=read_font_desc( mem_ptr=get_path("font/font.desc"),font_factor,verbose>1);
+       free(mem_ptr); // release the buffer created by get_path()
        if(!vo_font)
        vo_font=read_font_desc(MPLAYER_DATADIR "/font/font.desc",font_factor,verbose>1);
   }
@@ -1649,11 +1652,13 @@
     char *psub = get_path( "sub/" );
     char **tmp = sub_filenames((psub ? psub : ""), filename);
     char **tmp2 = tmp;
+    free(psub); // release the buffer created by get_path() above
     while (*tmp2)
         add_subtitles (*tmp2++, sh_video->fps, 0);
     free(tmp);
     if (set_of_sub_size == 0)
-        add_subtitles (get_path("default.sub"), sh_video->fps, 1);
+        add_subtitles (mem_ptr=get_path("default.sub"), sh_video->fps, 1);
+    free(mem_ptr); // release the buffer created by get_path()
     if (set_of_sub_size > 0)
         add_subtitles (NULL, sh_video->fps, 1);
   }




More information about the MPlayer-cvslog mailing list