From c32bfd5824b99b9af14b66d17a58fdf9c3bddb45 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Thu, 12 Jan 2017 22:32:19 +0100 Subject: [PATCH] gprs_ns_vty: guard against duplicate VTY elements The TbfTest in osmo-pcu calls gprs_ns_vty_init() repeatedly, which aborts because of duplicate VTY elements. Fix this by skipping the VTY init if it already happened. Change-Id: I05c7f25a4e873ae76b206819180b8b043b60103e --- src/gb/gprs_ns_vty.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index 5a951dca2..ee305ba52 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -573,8 +573,16 @@ DEFUN(logging_fltr_nsvc, int gprs_ns_vty_init(struct gprs_ns_inst *nsi) { + static bool vty_elements_installed = false; + vty_nsi = nsi; + /* Regression test code may call this function repeatedly, so make sure + * that VTY elements are not duplicated, which would assert. */ + if (vty_elements_installed) + return 0; + vty_elements_installed = true; + install_element_ve(&show_ns_cmd); install_element_ve(&show_ns_stats_cmd); install_element_ve(&show_nse_cmd);