From: Pablo Neira Ayuso <pablo(a)gnumonks.org>
The sequence to trigger the crash was:
1) establish a full A-bis IPA link (both OML and RSL correctly established
and ID_RESP received from BTS).
2) nc 127.0.0.1 3002 # establish OML link only
I forgot to set to NULL the oml and rsl links we're using. Otherwise,
the test calls e1inp_sign_link_destroy(rsl) which does not exists.
---
tests/e1inp_ipa_bsc_test.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/tests/e1inp_ipa_bsc_test.c b/tests/e1inp_ipa_bsc_test.c
index 424c87b..a0e5653 100644
--- a/tests/e1inp_ipa_bsc_test.c
+++ b/tests/e1inp_ipa_bsc_test.c
@@ -62,10 +62,14 @@ sign_link_up(void *dev, struct e1inp_line *line, enum e1inp_sign_type
type)
static void sign_link_down(struct e1inp_line *line)
{
LOGP(DBSCTEST, LOGL_NOTICE, "signal link has been closed\n");
- if (oml_sign_link)
+ if (oml_sign_link) {
e1inp_sign_link_destroy(oml_sign_link);
- if (rsl_sign_link)
+ oml_sign_link = NULL;
+ }
+ if (rsl_sign_link) {
e1inp_sign_link_destroy(rsl_sign_link);
+ rsl_sign_link = NULL;
+ }
}
static void fill_om_hdr(struct abis_om_hdr *oh, uint8_t len)
--
1.7.10.4