[vlc-devel] commit: control/media_control: fix a memleak (we don' t need to do a copy if we use const char*). ( Rémi Duraffort )

git version control git at videolan.org
Mon Dec 15 20:41:50 CET 2008


vlc | branch: master | Rémi Duraffort <ivoire at videolan.org> | Mon Dec 15 20:32:35 2008 +0100| [6166f14e834d0c7b19a0e6a6b98ef66c7e5a3710] | committer: Rémi Duraffort 

control/media_control: fix a memleak (we don't need to do a copy if we use const char*).

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6166f14e834d0c7b19a0e6a6b98ef66c7e5a3710
---

 src/control/mediacontrol_audio_video.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/src/control/mediacontrol_audio_video.c b/src/control/mediacontrol_audio_video.c
index cf6f026..c3dff03 100644
--- a/src/control/mediacontrol_audio_video.c
+++ b/src/control/mediacontrol_audio_video.c
@@ -123,7 +123,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
 
 static
 int mediacontrol_showtext( vout_thread_t *p_vout, int i_channel,
-                           char *psz_string, text_style_t *p_style,
+                           const char *psz_string, text_style_t *p_style,
                            int i_flags, int i_hmargin, int i_vmargin,
                            mtime_t i_start, mtime_t i_stop )
 {
@@ -142,13 +142,17 @@ mediacontrol_display_text( mediacontrol_Instance *self,
                            mediacontrol_Exception *exception )
 {
     vout_thread_t *p_vout = NULL;
-    char* psz_message;
     input_thread_t *p_input;
     libvlc_exception_t ex;
 
     libvlc_exception_init( &ex );
     mediacontrol_exception_init( exception );
 
+    if( !message )
+    {
+        RAISE_VOID( mediacontrol_InternalException, "Empty text" );
+    }
+
     p_input = libvlc_get_input_thread( self->p_media_player, &ex );
     if( ! p_input )
     {
@@ -160,12 +164,6 @@ mediacontrol_display_text( mediacontrol_Instance *self,
         RAISE_VOID( mediacontrol_InternalException, "No video output" );
     }
 
-    psz_message = strdup( message );
-    if( !psz_message )
-    {
-        RAISE_VOID( mediacontrol_InternalException, "no more memory" );
-    }
-
     if( begin->origin == mediacontrol_RelativePosition &&
         begin->value == 0 &&
         end->origin == mediacontrol_RelativePosition )
@@ -179,7 +177,7 @@ mediacontrol_display_text( mediacontrol_Instance *self,
                                                               mediacontrol_MediaTime,
                                                               end->value );
 
-        mediacontrol_showtext( p_vout, DEFAULT_CHAN, psz_message, NULL,
+        mediacontrol_showtext( p_vout, DEFAULT_CHAN, message, NULL,
                                OSD_ALIGN_BOTTOM | OSD_ALIGN_LEFT, 0, 0,
                                i_now, i_now + i_duration );
     }
@@ -199,7 +197,7 @@ mediacontrol_display_text( mediacontrol_Instance *self,
                                           ( mediacontrol_Position * ) end );
         i_fin += i_now;
 
-        vout_ShowTextAbsolute( p_vout, DEFAULT_CHAN, psz_message, NULL,
+        vout_ShowTextAbsolute( p_vout, DEFAULT_CHAN, message, NULL,
                                OSD_ALIGN_BOTTOM | OSD_ALIGN_LEFT, 0, 0,
                                i_debut, i_fin );
     }




More information about the vlc-devel mailing list