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:
parent
7fdc6334dc
commit
8d6fdf9c3a
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue