]> git.sesse.net Git - vlc/commitdiff
Check rate value before using.
authorAntoine Cellerier <dionoea@videolan.org>
Tue, 2 Mar 2010 21:56:59 +0000 (22:56 +0100)
committerAntoine Cellerier <dionoea@videolan.org>
Tue, 2 Mar 2010 21:56:59 +0000 (22:56 +0100)
src/input/input.c

index 495ae18fa5011cdbafdfb34e9b21bf63cba70ac8..c1001102aafedc65dd398e52c5544ebe79b91b89 100644 (file)
@@ -349,8 +349,13 @@ static input_thread_t *Create( vlc_object_t *p_parent, input_item_t *p_item,
     p_input->p->title = NULL;
     p_input->p->i_title_offset = p_input->p->i_seekpoint_offset = 0;
     p_input->p->i_state = INIT_S;
-    p_input->p->i_rate = INPUT_RATE_DEFAULT
-                         / var_InheritFloat( p_input, "rate" );
+    double f_rate = var_InheritFloat( p_input, "rate" );
+    if( f_rate <= 0. )
+    {
+        msg_Warn( p_input, "Negative or zero rate values are forbidden" );
+        f_rate = 1.;
+    }
+    p_input->p->i_rate = INPUT_RATE_DEFAULT / f_rate;
     p_input->p->b_recording = false;
     memset( &p_input->p->bookmark, 0, sizeof(p_input->p->bookmark) );
     TAB_INIT( p_input->p->i_bookmark, p_input->p->pp_bookmark );