]> git.sesse.net Git - vlc/commitdiff
sanity checking
authorJean-Paul Saman <jpsaman@videolan.org>
Tue, 9 Aug 2005 09:49:32 +0000 (09:49 +0000)
committerJean-Paul Saman <jpsaman@videolan.org>
Tue, 9 Aug 2005 09:49:32 +0000 (09:49 +0000)
src/misc/messages.c

index 6a14efc27413d862c5f93e6f06ff91117cc09805..3e05628973599c54eb609bc2336cc239b69a7e2d 100644 (file)
@@ -3,7 +3,7 @@
  * This library provides an interface to the message queue to be used by other
  * modules, especially intf modules. See config.h for output configuration.
  *****************************************************************************
- * Copyright (C) 1998-2004 the VideoLAN team
+ * Copyright (C) 1998-2005 the VideoLAN team
  * $Id$
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
@@ -209,8 +209,7 @@ void __msg_Unsubscribe( vlc_object_t *p_this, msg_subscription_t *p_sub )
     /* Remove this subscription */
     REMOVE_ELEM( p_bank->pp_sub, p_bank->i_sub, i_index );
 
-    free( p_sub );
-
+    if( p_sub ) free( p_sub );
     vlc_mutex_unlock( &p_bank->lock );
 }
 
@@ -377,8 +376,10 @@ static void QueueMsg( vlc_object_t *p_this, int i_type, const char *psz_module,
 
     if( p_bank->b_overflow )
     {
-        free( p_item->psz_module );
-        free( p_item->psz_msg );
+        if( p_item->psz_module )
+            free( p_item->psz_module );
+        if( p_item->psz_msg )
+            free( p_item->psz_msg );
     }
 
     vlc_mutex_unlock( &p_bank->lock );
@@ -426,8 +427,10 @@ static void FlushMsg ( msg_bank_t *p_bank )
          i_index != i_stop;
          i_index = (i_index+1) % VLC_MSG_QSIZE )
     {
-        free( p_bank->msg[i_index].psz_msg );
-        free( p_bank->msg[i_index].psz_module );
+        if( p_bank->msg[i_index].psz_msg )
+            free( p_bank->msg[i_index].psz_msg );
+        if( p_bank->msg[i_index].psz_module )
+            free( p_bank->msg[i_index].psz_module );
     }
 
     /* Update the new start value */