mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	res_prometheus: Do not crash on invisible bridges
Avoid crashing by skipping invisible bridges and checking the snapshot for a null pointer. In effect this is how the bridges are enumerated in res/ari/resource_bridges.c already. ASTERISK-30239 ASTERISK-30237 Change-Id: I58ef9f44036feded5966b5fc70ae754f8182883d
This commit is contained in:
		
				
					committed by
					
						 Holger Hans Peter Freyther
						Holger Hans Peter Freyther
					
				
			
			
				
	
			
			
			
						parent
						
							8afb313a43
						
					
				
				
					commit
					62881c668b
				
			| @@ -125,7 +125,17 @@ static void bridges_scrape_cb(struct ast_str **response) | ||||
| 	/* Bridge dependent values */ | ||||
| 	it_bridges = ao2_iterator_init(bridges, 0); | ||||
| 	for (i = 0; (bridge = ao2_iterator_next(&it_bridges)); ao2_ref(bridge, -1), i++) { | ||||
| 		struct ast_bridge_snapshot *snapshot = ast_bridge_get_snapshot(bridge); | ||||
| 		struct ast_bridge_snapshot *snapshot; | ||||
|  | ||||
| 		/* Invisible bridges don't get shown externally and have no snapshot */ | ||||
| 		if (ast_test_flag(&bridge->feature_flags, AST_BRIDGE_FLAG_INVISIBLE)) { | ||||
| 			continue; | ||||
| 		} | ||||
|  | ||||
| 		snapshot = ast_bridge_get_snapshot(bridge); | ||||
| 		if (!snapshot) { | ||||
| 			continue; | ||||
| 		} | ||||
|  | ||||
| 		for (j = 0; j < ARRAY_LEN(bridge_metric_defs); j++) { | ||||
| 			int index = i * ARRAY_LEN(bridge_metric_defs) + j; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user