mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	virtual sources and sinks: Fix possible segfault
Several virtual sources and sinks apart from module-echo-cancel also query the master
sink or source to estimate the current latency. Those modules might potentially show
the bug that is described for module-echo-cancel in bug 100277.
This patch checks in the message handlers for the PA_{SINK,SOURCE}_MESSAGE_GET_LATENCY
if the master sink or source is valid and returns 0 as latency if not. This is however
not yet sufficient to solve the issue. Additional patches will follow.
			
			
This commit is contained in:
		
							parent
							
								
									3bb94c4e83
								
							
						
					
					
						commit
						db4fbb0121
					
				
					 6 changed files with 12 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -347,7 +347,8 @@ static int sink_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t of
 | 
			
		|||
         * make sure we don't access it in that time. Also, the
 | 
			
		||||
         * sink input is first shut down, the sink second. */
 | 
			
		||||
        if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) ||
 | 
			
		||||
                !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) {
 | 
			
		||||
            !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state) ||
 | 
			
		||||
            !u->sink_input->sink) {
 | 
			
		||||
            *((int64_t*) data) = 0;
 | 
			
		||||
            return 0;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue