filter-buffer: fix segfault when starting qemu with status=off property
After commit 338d3f, we support 'status' property for filter object. The segfault can be triggered by starting qemu with 'status=off' property for filter, when the s->incoming_queue is NULL, we reference it directly in qemu_net_queue_flush() which was called in status_changed() callback function. We shouldn't trigger status_changed() before the filter was initialized, We can check the value of 'nf->netdev' to confirm if the filter is initialized or not, so let's check its value before calling status_changed(). Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
		
							parent
							
								
									91731d5f6d
								
							
						
					
					
						commit
						e0a039e50d
					
				| 
						 | 
				
			
			@ -164,7 +164,7 @@ static void netfilter_set_status(Object *obj, const char *str, Error **errp)
 | 
			
		|||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    nf->on = !nf->on;
 | 
			
		||||
    if (nfc->status_changed) {
 | 
			
		||||
    if (nf->netdev && nfc->status_changed) {
 | 
			
		||||
        nfc->status_changed(nf, errp);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue